115 votes

Comment faire pour démarrer une Intention par le passage de quelques paramètres?

Je voudrais passer quelques variables dans le constructeur de ma ListActivity

J'ai commencer l'activité par le biais de ce code:

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

Je voudrais utiliser un code similaire, mais passer deux chaînes du constructeur. Comment est-ce possible?

262voto

Xitcod13 Points 1715

Afin de passer les paramètres de vous créer de nouveaux intention et de mettre un paramètre de la carte:

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

Afin d'obtenir les valeurs de ces paramètres à l'intérieur de l'activité, vous devez appeler l' get[type]Extra() sur la même intention:

// 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 vos paramètres sont ints vous utilisez getIntExtra() au lieu de cela etc. Maintenant, vous pouvez utiliser vos paramètres comme vous le feriez normalement.

43voto

RickNotFred Points 2352

Je pense que vous voulez quelque chose comme ceci:

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

ou vous pouvez les combiner en un faisceau d'abord. Correspondant getExtra() routines d'exister pour l'autre côté. Voir l'intention de rubrique dans le dev guide pour plus d'informations.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X