Je voudrais passer quelques variables dans le constructeur de mon ListActivity
Je commence l'activité via ce code:
startActivity(new Intent (this, viewContacts.class));
Je voudrais utiliser un code similaire, mais passer deux chaînes au constructeur. Comment est-ce possible?
Afin de transmettre les paramètres, vous créez une nouvelle intention et mettez une mappe de paramètres:
Intent myIntent = new Intent(this, NewActivityClassName.class);
myIntent.putExtra("firstKeyName","FirstKeyValue");
myIntent.putExtra("secondKeyName","SecondKeyValue");
startActivity(myIntent);
Afin d’obtenir les valeurs des paramètres dans l’activité démarrée, vous devez appeler le get[type]Extra()
avec le même objectif:
// 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 utiliseriez plutôt getIntExtra()
, etc. Maintenant, vous pouvez utiliser vos paramètres comme vous le feriez normalement.
Je pense que tu veux quelque chose comme ça:
Intent foo = new Intent(this, viewContacts.class);
foo.putExtra("myFirstKey", "myFirstValue");
foo.putExtra("mySecondKey", "mySecondValue");
startActivity(foo);
ou vous pouvez les combiner en un premier paquet. Les routines getExtra () correspondantes existent pour l'autre côté. Voir le sujet de l'intention dans le guide de développement pour plus d'informations.