Mai mult
Începe o Activitate cu un parametru
Am'm foarte nou pe Android de dezvoltare.
Vreau pentru a crea și de a începe o activitate pentru a afișa informații despre un joc. Am arătat că informațiile de care am nevoie de un gameId.
Cum pot trece de acest joc ID de activitate? ID-ul de joc este absolut necesar deci eu nu't doriți să creați sau de a începe activitatea, dacă nu't au ID-ul.
L's place activitatea are numai o constructor cu un singur parametru.
Cum pot face asta?
Multumesc.
279
5
Pune o
int
care este id-ul dvs. într-o nouă "Intenția".Apoi ia id-ul in noua ta "Activitate":
Trebuie doar să adăugați date suplimentare de Intenție utilizați pentru a apela dumneavoastră de activitate.
În apelantul activitate :
În interiorul onCreate() din activitatea de apel :
Edit : Oops, Charlie Sheen a fost mai rapid.
Îmi place să o fac cu o metodă statică în cea de-a doua activitate:
Apoi, de la prima activitate (și de oriunde altundeva), tu doar faci:
Existente răspunsuri (trece datele în "Intenția" a trecut la
startActivity()
) show mod normal de a rezolva această problemă. Nu există o altă soluție, care poate fi folosit în caz ciudat în cazul în care te're creând o Activitate care va fi inițiat de către o altă aplicație (de exemplu, unul de editare activități într-o Tasker plugin) și, prin urmare, nu de control "Intenția" care lansează "Activitate".Puteți crea o bază de clasă "Activitate" care are un constructor cu un parametru, atunci o clasă derivată, care are un constructor implicit care solicită bază-clasa constructor cu o valoare, astfel:
Dacă aveți nevoie pentru a genera parametru pentru a trece la bază-clasa constructor, pur și simplu înlocuiți hard-coded valoare cu un apel de funcție care returnează valoarea corectă pentru a trece.
Kotlin cod:
Începe
SecondActivity
:Ia Id-ul in
SecondActivity
:unde gameId "este" String?` (poate fi null)