Frage

Ich möchte einige Variablen im Konstruktor meines ListActivity passieren

Ich fange an Aktivität über diesen Code:

startActivity(new Intent (this, viewContacts.class));

Ich möchte einen ähnlichen Code verwenden, aber zwei Strings an den Konstruktor zu übergeben. Wie ist möglich?

War es hilfreich?

Lösung

Um die Parameter zu übergeben Sie neue Absicht erstellen und eine Parameterkarte setzen:

Intent myIntent = new Intent(this, NewActivityClassName.class);
myIntent.putExtra("firstKeyName","FirstKeyValue");
myIntent.putExtra("secondKeyName","SecondKeyValue");
startActivity(myIntent);

Um die Parameter-Werte innerhalb der begann Aktivität zu erhalten, müssen Sie die get[type]Extra() auf der gleichen Absicht nennen:

// 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"

Wenn Sie Ihre Parameter sind Ints Sie getIntExtra() stattdessen usw. verwenden würden Jetzt können Sie Ihre Parameter verwenden wie gewohnt.

Andere Tipps

Ich glaube, Sie so etwas wie dies wollen:

Intent foo = new Intent(this, viewContacts.class);
foo.putExtra("myFirstKey", "myFirstValue");
foo.putExtra("mySecondKey", "mySecondValue");
startActivity(foo);

oder Sie können sie zu einem Bündel ersten kombinieren. Entsprechende getExtra () Routinen existieren für die andere Seite. Siehe das Absicht Thema in dem Entwickler-guide weitere Informationen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top