Wie kann ein Bündel an die Aktivität übergeben werden, die gerade gestartet wird? Gemeinsame Eigenschaften?Übergabe eines Bündels an startActivity()?
Antwort
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.
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?
Und aus der resultierenden Absicht rufen Sie getIntent(). GetExtras() .get *() um zu erhalten, was vorher gespeichert wurde. – yanchenko
Ü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);
}
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);
tolle Mini-Guide für die Menschen zu verstehen. –
@fiXedd, Vielen Dank –
@MicroR, gibt es keinen Unterschied. –