Respuestas:
Tienes pocas opciones:
1) Use el paquete de la intención :
Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);
2) Crear 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 de acceso directo putExtra () de la intención
Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);
Luego, en la Actividad lanzada, los leería a través de:
String value = getIntent().getExtras().getString(key)
NOTA: Los paquetes tienen métodos "get" y "put" para todos los tipos primitivos, Parcelables y Serializables. Acabo de usar cadenas para fines de demostración.
Puedes usar el paquete desde la intención:
Bundle extras = myIntent.getExtras();
extras.put*(info);
O un paquete completo:
myIntent.putExtras(myBundle);
¿Es esto lo que estás buscando?
Transferencia de 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 el putExtra()
método de intención . Los datos se pasan como extras y son key/value pairs
. La clave siempre es una cadena. Como valor puede usar los tipos de datos primitivos int, float, chars, etc. También podemos pasar Parceable and Serializable
objetos de una actividad a otra.
Intent intent = new Intent(context, YourActivity.class);
intent.putExtra(KEY, <your value here>);
startActivity(intent);
Recuperando datos de 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 a través del 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);
}
Puede pasar valores de una actividad a otra con el Paquete. En su actividad actual, cree un paquete y establezca el paquete para el valor particular y pase ese paquete 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 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 Nueva Actividad, puede obtener ese valor de una intención como esta,
String value = getIntent().getExtras().getString(key);
Escribe esta es la actividad en la que te encuentras:
Intent intent = new Intent(CurrentActivity.this,NextActivity.class);
intent.putExtras("string_name","string_to_pass");
startActivity(intent);
En 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"));
Esto funciona para mí, puedes probarlo.
puedes usar este código en tu primera actividad :
Intent i = new Intent(Context, your second activity.class);
i.putExtra("key_value", "your object");
startActivity(i);
y obtener objeto en la segunda actividad :
Intent in = getIntent();
Bundle content = in.getExtras();
// check null
if (content != null) {
String content = content_search.getString("key_value");
}