Вопрос

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

Это было полезно?

Решение

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

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) Используйте Путекстра() сокращенный метод выполнения намерения

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


Затем, в запущенном действии, вы могли бы прочитать их с помощью:

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

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

Другие советы

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

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

Или целую пачку:

myIntent.putExtras(myBundle);

Это то, что ты ищешь?

Передача данных от одного действия к другому в 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.Тот Самый Намерение объект может быть извлечен с помощью 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); 
  }

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

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 intent = new Intent(this,NewActivity.class);
intent.putExtra(key,value);
startActivity(intent);

Теперь в вашем NewActivity вы можете получить это значение из intent следующим образом,

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

Напишите, что это за занятие, которым вы занимаетесь:

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/

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

 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"); 
    }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top