2010-03-08 13 views
85

me gustaría pasar algunas variables en el constructor de mi ListActivity¿Cómo iniciar una intención pasando algunos parámetros a ella?

comienzo a la actividad a través de este código:

startActivity(new Intent (this, viewContacts.class)); 

me gustaría utilizar un código similar, pero para pasar dos cadenas al constructor. ¿Como es posible?

+2

Creo que sería una mejor pregunta si pregunta cómo pasar los parámetros a una nueva actividad y cómo obtener los parámetros una vez que los pasa. No entiendo por qué necesitamos tener 2 preguntas separadas si necesita usar ambas para tener realmente cualquier funcionalidad de todos modos. (Es por eso que incluí cómo obtener los parámetros en mi mirada de respuesta a continuación) – Xitcod13

Respuesta

203

Con el fin de pasar los parámetros que se crean nuevo intento y poner un mapa de parámetros:

Intent myIntent = new Intent(this, NewActivityClassName.class); 
myIntent.putExtra("firstKeyName","FirstKeyValue"); 
myIntent.putExtra("secondKeyName","SecondKeyValue"); 
startActivity(myIntent); 

el fin de obtener los valores de los parámetros dentro de la actividad de empezar, debe llamar a la get[type]Extra() en la misma intención:

// getIntent() is a method from the started activity 
Intent myIntent = getIntent(); // gets the previously created intent 
String firstKeyName = myIntent.getStringExtra("firstKeyName"); // will return "FirstKeyValue" 
String secondKeyName= myIntent.getStringExtra("secondKeyName"); // will return "SecondKeyValue" 

Si los parámetros son enteros que usaría en lugar getIntExtra() etc. Ahora puede utilizar los parámetros de la forma habitual.

39

Creo que quieres algo como esto:

Intent foo = new Intent(this, viewContacts.class); 
foo.putExtra("myFirstKey", "myFirstValue"); 
foo.putExtra("mySecondKey", "mySecondValue"); 
startActivity(foo); 

o puede combinarlos en un paquete por primera vez. Las rutinas getExtra() correspondientes existen para el otro lado. Consulte the intent topic en la guía de desarrollo para obtener más información.

+3

Aquí hay un ejemplo de cómo obtener estos valores en la actividad iniciada: http://stackoverflow.com/a/4233898/246743 –

Cuestiones relacionadas