¿Pasar un paquete en startActivity()?

Resuelto yanchenko asked hace 54 años • 5 respuestas

¿Cuál es la forma correcta de pasar un paquete a la actividad que se inicia desde el actual? ¿Propiedades compartidas?

yanchenko avatar Jan 01 '70 08:01 yanchenko
Aceptado

Tienes pocas opciones:

1) Utilice el paquete de la intención :

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

2) Crea un nuevo paquete

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

3) Utilice el método de acceso directo putExtra() del Intent

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


Luego, en la Actividad iniciada, los leerá a través de:

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

NOTA: Los paquetes tienen métodos "obtener" y "poner" para todos los tipos primitivos, Parcelables y Serializables. Solo utilicé Strings con fines demostrativos.

Jeremy Logan avatar May 04 '2009 09:05 Jeremy Logan

Puedes usar el paquete de Intent:

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

O un paquete completo:

myIntent.putExtras(myBundle);

¿Es esto lo que estás buscando?

DustinB avatar Apr 20 '2009 16:04 DustinB

Pasar datos de una actividad a otra en Android

Una intención contiene la acción y, opcionalmente, datos adicionales. Los datos se pueden pasar a otra actividad utilizando putExtra()el método de intención. Los datos se pasan como extras y son key/value pairs. La clave es siempre una cadena. Como valor puedes usar los tipos de datos primitivos int, float, chars, etc. También podemos pasar Parceable and Serializableobjetos de una actividad a otra.

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

Recuperar datos del paquete de la actividad de Android

Puede recuperar la información utilizando getData()métodos en el objeto Intent. El objeto Intent se puede recuperar mediante el getIntent()método.

 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); 
  }
IntelliJ Amiya avatar Mar 19 '2015 05:03 IntelliJ Amiya

Puede pasar valores de una actividad a otra utilizando el paquete. En su actividad actual, cree un paquete, configúrelo para el valor particular y páselo a la intención.

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

Ahora en tu NewActivity, puedes obtener este paquete y recuperar su valor.

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

También puedes pasar datos a través de la intención. En su actividad actual, establezca una intención como esta,

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

Ahora, en tu NewActivity, puedes obtener ese valor a partir de una intención como esta:

String value = getIntent().getExtras().getString(key);
Neha Mehta avatar Feb 19 '2018 07:02 Neha Mehta