822 votes

Comment obtenir des données supplémentaires à partir de l'intention dans android?

Comment puis-je envoyer des données à partir d'une activité (l'intention) à l'autre?

J'utilise ce code pour envoyer des données:

Intent i=new Intent(context,SendMessage.class);
i.putExtra("id", user.getUserAccountId()+"");
i.putExtra("name", user.getUserFullName());
context.startActivity(i);

1320voto

Malcolm Points 14261

Tout d'abord, obtenir l'intention qui a commencé votre activité à l'aide de l' getIntent() méthode:

Intent intent = getIntent();

Si vos données sont représentées comme des chaînes de caractères, vous pouvez utiliser intent.getStringExtra(String name) méthode. Dans votre cas:

String id = intent.getStringExtra("id");
String name = intent.getStringExtra("name");

201voto

NickT Points 14155

À la réception d'activité

Bundle extras = getIntent().getExtras(); 
String userName;

if (extras != null) {
    userName = extras.getString("name");
    // and get whatever type user account id is
}

41voto

Sumit Sharma Points 889
//  How to send value using intent from one class to another class
//  class A(which will send data)
    Intent theintent = new Intent(A.this,B.java);
    theintent.putExtra("name",john);
    startActivity(theintent);
//  How to get these values in another class
//  Class B
    Intent i= getIntent();
    i.getExtra("name");
//  if you log here i than you will get the value of i i.e. john

16voto

bloodyshadow Points 40

au lieu de l'initialisation d'une autre nouvelle Intention de recevoir les données viens de le faire:

String id=getIntent().getStringExtra("id");

10voto

Bundit Ng Points 31

Si l'utilisation de FragmentActivity,essayez ceci

Première Page sont s'étend FragmentActivity

Intent Tabdetail = new Intent(getApplicationContext(),ReceivePage.class); Tabdetail.putExtra("Marker", marker.getTitle().toString()); startActivity(Tabdetail);

Dans le fragment, vous avez juste besoin d'appeler getActivity() première:

Secound Page sont extens Fragment

String receive = getActivity().getIntent().getExtras().getString("name");

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