¿Cuál es la forma correcta de pasar un paquete a la actividad que se inicia desde la actual? Propiedades compartidas?
Tienes pocas opciones:
1) Utiliza el paquete del bash :
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) Use el método abreviado putExtra () de la intención
Intent mIntent = new Intent(this, Example.class); mIntent.putExtra(key, value);
Luego, en la Actividad lanzada, los leerías a través de:
String value = getIntent().getExtras().getString(key)
NOTA: Los paquetes tienen métodos de “obtener” y “poner” para todos los tipos primitivos, Parcelables y Serializables. Acabo de utilizar cadenas con fines de demostración.
Puede usar el paquete de la intención:
Bundle extras = myIntent.getExtras(); extras.put*(info);
O un paquete completo:
myIntent.putExtras(myBundle);
Es esto lo que estás buscando?
Pasar datos de una actividad a la actividad en Android
Un bash contiene la acción y opcionalmente datos adicionales. Los datos se pueden pasar a otra actividad utilizando el putExtra()
intent putExtra()
. Los datos se pasan como extras y son key/value pairs
. La clave es siempre una cadena. Como valor puede usar los tipos de datos primitivos int, float, chars, etc. También podemos pasar objetos Parceable and Serializable
de una actividad a otra.
Intent intent = new Intent(context, YourActivity.class); intent.putExtra(KEY, ); startActivity(intent);
Recuperando datos del paquete de la actividad de Android
Puede recuperar la información utilizando los métodos getData()
en el objeto Intent. El objeto Intent se puede recuperar a través del método 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); }
Puede pasar valores de una actividad a otra actividad utilizando el paquete. En su actividad actual, cree un paquete y configure el paquete para el valor particular y pase ese paquete al bash.
Intent intent = new Intent(this,NewActivity.class); Bundle bundle = new Bundle(); bundle.putString(key,value); intent.putExtras(bundle); startActivity(intent);
Ahora en su NewActivity, puede obtener este paquete y recuperar su valor.
Bundle bundle = getArguments(); String value = bundle.getString(key);
También puede 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 su actividad nueva, puede obtener ese valor de una intención como esta,
String value = getIntent().getExtras().getString(key);