Ich bin sehr neu in der Android-Entwicklung.
Ich möchte eine Aktivität erstellen und starten, um Informationen zu einem Spiel anzuzeigen. Ich zeige diese Informationen, ich brauche eine Spiel-ID.
Wie kann ich diese Spiel-ID an die Aktivität weitergeben? Die Spiel-ID ist unbedingt erforderlich, daher möchte ich die Aktivität nicht erstellen oder starten, wenn sie nicht über die ID verfügt.
Es ist, als hätte die Aktivität nur einen Konstruktor mit einem Parameter.
Wie kann ich das machen?
Vielen Dank.
android
android-activity
oncreate
VansFannel
quelle
quelle
intent.putExtra(String, Int)
.Fügen Sie einfach zusätzliche Daten zu der Absicht hinzu, mit der Sie Ihre Aktivität aufrufen.
In der Anruferaktivität:
Innerhalb von onCreate () der Aktivität, die Sie aufrufen:
quelle
Ich mache es gerne mit einer statischen Methode in der zweiten Aktivität:
Dann machen Sie von Ihrer ersten Aktivität (und für irgendwo anders) einfach:
quelle
String gameId = intent.getStringExtra(EXTRA_EXTERNAL_ID);
seinString gameId = intent.getStringExtra(EXTRA_GAME_ID);
Kotlin-Code:
Starten Sie die
SecondActivity
:Holen Sie sich die ID in
SecondActivity
:wo
gameId
istString?
(kann null sein)quelle
Die vorhandenen Antworten (Übergeben der Daten an
Intent
übergebenstartActivity()
) zeigen den normalen Weg zur Lösung dieses Problems. Es gibt eine andere Lösung, die in dem seltsamen Fall verwendet werden kann, in dem Sie eine Aktivität erstellen, die von einer anderen App gestartet wird (z. B. eine der Bearbeitungsaktivitäten in einem Tasker- Plugin) und daher nicht steuern,Intent
welche die Aktivität startetActivity
.Sie können eine Basisklasse erstellen
Activity
, die einen Konstruktor mit einem Parameter hat, und dann eine abgeleitete Klasse, die einen Standardkonstruktor hat, der den Basisklassenkonstruktor mit einem Wert aufruft, wie folgt:Wenn Sie den Parameter generieren müssen, der an den Basisklassenkonstruktor übergeben werden soll, ersetzen Sie einfach den fest codierten Wert durch einen Funktionsaufruf, der den richtigen zu übergebenden Wert zurückgibt.
quelle