Передача пакета на startActivity ()? - PullRequest
155 голосов
/ 20 апреля 2009

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

Ответы [ 5 ]

395 голосов
/ 04 мая 2009

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

1) Используйте Связку от Намерения :

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

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


Затем в запущенном Activity вы можете прочитать их через:

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

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

18 голосов
/ 20 апреля 2009

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

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

Или целый комплект:

myIntent.putExtras(myBundle);

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

13 голосов
/ 19 марта 2015

Передача данных из одного действия в действие в Android

Намерение содержит действие и, необязательно, дополнительные данные. Данные могут быть переданы другому виду деятельности с помощью метода intent 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);

Получение данных пакета из активности Android

Вы можете получить информацию, используя методы getData() объекта Intent. Объект 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 голосов
/ 19 февраля 2018

Вы можете передавать значения из одного действия в другое, используя 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);
0 голосов
/ 11 сентября 2018

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

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 / статьи / как к отправке, в-данных-один-активности к другой-активности-в-андроида-приложения /

...