190 votes

En passant un Bundle sur startActivity() ?

Quelle est la façon correcte de transmettre un paquet à l’activité qui est en cours de lancement de l’actuel ? Propriétés partagées ?

466voto

fiXedd Points 21644

Vous avez plusieurs options:

1) Utiliser le Bundle de l' Intention:

Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);  

2) Créer un nouveau Bundle

Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);

3) Utiliser le putExtra() , méthode de raccourci de l'Intention

Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);


Puis, dans la lancée de l'Activité, vous les lire via:

String value = getIntent().getExtras().getString(key)

REMARQUE: les modules "get" et "mettre" des méthodes pour tous les types primitifs, Parcelables, et Serializables. J'ai juste utilisé des Chaînes de demonstrational fins.

21voto

Dustin Points 4694

Vous pouvez utiliser le paquet de l’intention :

Ou l’ensemble du groupe :

Est-ce que vous cherchez ?

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