Проходження пакета при запускуAAA ()?


174

Який правильний спосіб передавати пакет для тієї діяльності, яка запускається з поточної? Спільні властивості?

Відповіді:


426

У вас є кілька варіантів:

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


Потім у запущеній діяльності ви прочитаєте їх через:

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

ПРИМІТКА: Пакети мають методи "get" і "put" для всіх примітивних типів, Parcelables і Serializables. Я просто використовував Strings для демонстраційних цілей.


20

Ви можете використовувати пакет із наміру:

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

Або цілий пакет:

myIntent.putExtras(myBundle);

Це те, що ви шукаєте?


1
І з отриманого наміру ви викликаєте getIntent (). GetExtras (). Get * (), щоб отримати те, що зберігалося раніше.
Янченко

16

Передача даних з однієї активності в активність на 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);

Отримання даних в пакеті від активності 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); 
  }

6

Ви можете передавати значення з однієї діяльності в іншу, використовуючи пакет. У вашій поточній діяльності створіть пакет і встановіть пакет для певного значення та передайте цей пакет до наміру.

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);

Навіщо використовувати пакет, коли об’єкт наміру має методи getExtra та putExtra?
Психоз404

0

Напишіть, що це - діяльність, яку ви здійснюєте

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/


0

Ви можете використовувати цей код у своїй першій діяльності :

 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"); 
    }
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.