2009-04-20 19 views

Antwort

359

Sie haben ein paar Optionen:

1) Verwenden Sie die Bundle vom Intent:

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

2) Erstellen Sie ein neues Bundle

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

3) Verwenden Sie die putExtra() Methode Abkürzung der Absicht

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


Dann in der gestarteten Aktivität, würden Sie sie über lesen:

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

HINWEIS: Bundles haben "get" und "put" Methoden für alle primitiven Typen, Parcelables und Serializables . Ich habe Strings nur zu Demonstrationszwecken benutzt.

+3

tolle Mini-Guide für die Menschen zu verstehen. –

+1

@fiXedd, Vielen Dank –

+0

@MicroR, gibt es keinen Unterschied. –

17

Sie können die Bundle aus der Intent verwenden:

Bundle extras = myIntent.getExtras(); 
extras.put*(info); 

Oder ein ganzes Bündel:

myIntent.putExtras(myBundle); 

Ist das, was Sie suchen?

+1

Und aus der resultierenden Absicht rufen Sie getIntent(). GetExtras() .get *() um zu erhalten, was vorher gespeichert wurde. – yanchenko

10

Übergabe von Daten von einer Aktivität zur Aktivität in android

eine Absicht die Aktion enthält, und gegebenenfalls weitere Daten. Die Daten können mithilfe der Intent-Methode putExtra() an andere Aktivitäten übergeben werden. Daten werden als Extras weitergegeben und sind key/value pairs. Der Schlüssel ist immer ein String. Als Wert können Sie die primitiven Datentypen int, float, chars usw. verwenden. Wir können auch Parceable and Serializable Objekte von einer Aktivität zur anderen übergeben. mit getData() Methoden auf dem Intent Objekt

Intent intent = new Intent(context, YourActivity.class); 
intent.putExtra(KEY, <your value here>); 
startActivity(intent); 

Abrufen von Bündeldaten von Android-Aktivität

können Sie die Informationen abrufen. Das Objekt Intent kann über die Methode getIntent() abgerufen werden.

Intent intent = getIntent(); 
    if (null != intent) { //Null Checking 
    String StrData= intent.getStringExtra(KEY); 
    int NoOfData = intent.getIntExtra(KEY, defaultValue); 
    boolean booleanData = intent.getBooleanExtra(KEY, defaultValue); 
    char charData = intent.getCharExtra(KEY, defaultValue); 
    } 
0

Mit dem Bündel können Sie Werte von einer Aktivität an eine andere Aktivität übergeben. Erstellen Sie in Ihrer aktuellen Aktivität ein Bündel und legen Sie das Bündel für den bestimmten Wert fest, und übergeben Sie das Bündel an die Absicht.

Intent intent = new Intent(this,NewActivity.class); 
Bundle bundle = new Bundle(); 
bundle.putString(key,value); 
intent.putExtras(bundle); 
startActivity(intent); 

Jetzt in Ihrer NewActivity, können Sie dieses Bündel erhalten und Ihren Wert abrufen.

Bundle bundle = getArguments(); 
String value = bundle.getString(key); 

Sie können auch Daten über die Absicht passieren. In Ihrer aktuellen Aktivität richtet Absicht wie diese,

Intent intent = new Intent(this,NewActivity.class); 
intent.putExtra(key,value); 
startActivity(intent); 

Jetzt in Ihrem NewActivity, können Sie diesen Wert von Vorsatz wie dies erhalten,

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