Передача пакета на startActivity()?

Какой правильный способ передать пакет для активности, которая запускается из текущей? Общие свойства?

Ответ 1

У вас есть несколько вариантов:

1) Используйте Bundle из Intent:

Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);  

2) Создайте новый пакет

Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);

3) Используйте метод putExtra() для быстрого набора

Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);


Затем в запущенной операции вы прочтете их через:

String value = getIntent().getExtras().getString(key)

ПРИМЕЧАНИЕ. Связки имеют методы "получить" и "поставить" для всех примитивных типов, Parcelables и Serializables. Я просто использовал Strings для демонстрационных целей.

Ответ 2

Вы можете использовать Bundle из намерения:

Bundle extras = myIntent.getExtras();
extras.put*(info);

Или весь пакет:

myIntent.putExtras(myBundle);

Это то, что вы ищете?

Ответ 3

Передача данных с одного действия на активность в android

Умысел содержит действие и необязательные дополнительные данные. Данные могут быть переданы другим действиям с использованием метода putExtra(). Данные передаются как дополнительные и key/value pairs. Ключ всегда является строкой. В качестве значения вы можете использовать примитивные типы данных int, float, chars и т.д. Мы также можем передавать объекты Parceable and Serializable из одной активности в другую.

Intent intent = new Intent(context, YourActivity.class);
intent.putExtra(KEY, <your value here>);
startActivity(intent);

Извлечение данных о связке из андроидной активности

Вы можете получить информацию с помощью методов getData() на объекте Intent. Объект Намерение можно получить с помощью метода getIntent().

 Intent intent = getIntent();
  if (null != intent) { //Null Checking
    String StrData= intent.getStringExtra(KEY);
    int NoOfData = intent.getIntExtra(KEY, defaultValue);
    boolean booleanData = intent.getBooleanExtra(KEY, defaultValue);
    char charData = intent.getCharExtra(KEY, defaultValue); 
  }

Ответ 4

Вы можете передавать значения из одной активности в другую деятельность с помощью Bundle. В вашей текущей деятельности создайте пакет и установите пакет для определенного значения и передайте этот пакет в намерение.

Intent intent = new Intent(this,NewActivity.class);
Bundle bundle = new Bundle();
bundle.putString(key,value);
intent.putExtras(bundle);
startActivity(intent);

Теперь в вашей NewActivity вы можете получить этот комплект и получить свою ценность.

Bundle bundle = getArguments();
String value = bundle.getString(key);

Вы также можете передавать данные через намерение. В вашей текущей деятельности, установите намерение, как это,

Intent intent = new Intent(this,NewActivity.class);
intent.putExtra(key,value);
startActivity(intent);

Теперь в вашей NewActivity вы можете получить эту ценность от намерения, подобного этому,

String value = getIntent().getExtras().getString(key);

Ответ 5

Напишите, что это ваша деятельность:

Intent intent = new Intent(CurrentActivity.this,NextActivity.class);
intent.putExtras("string_name","string_to_pass");
startActivity(intent);

В NextActivity.java

Intent getIntent = getIntent();
//call a TextView object to set the string to
TextView text = (TextView)findViewById(R.id.textview_id);
text.setText(getIntent.getStringExtra("string_name"));

Это работает для меня, вы можете попробовать.

Источник: https://www.c-sharpcorner.com/article/how-to-send-the-data-one-activity-to-another-activity-in-android-application/

Ответ 6

Вы можете использовать этот код в своей первой деятельности:

 Intent i = new Intent(Context, your second activity.class);
        i.putExtra("key_value", "your object");
        startActivity(i);

и получить объект во второй деятельности:

 Intent in = getIntent();
    Bundle content = in.getExtras();
   // check null
        if (content != null) {
            String content = content_search.getString("key_value"); 
    }