Frage von Niro275, 24

Hi Leute, Wie kann einen int an mehrer Activities weitergeben, man sollte den int in diesem Activitie ändern können, sodas der geänderte int weitergegebn wird?

z.B.: Im ersten activitie wird der int auf 3 gesetzt, im nächsten wird er um 5 erhöt,...... im lezten activitie steht dann das ergebniss.

Antwort
von MalNachgedacht, 10

Etwas unsauber aber sehr einfach und sehr schnell

Die entsprechende Variable als "public static int" in irgendeiner Klasse definieren - dadurch ist sie von überall aus (und auch von jeder Activity aus) zugänglich - sowohl zum lesen als auch zum schreiben.

"Schöner" aus Android-Sicht wäre es, den jeweiligen Wert als Teil des Intents zu übergeben mit dem die jeweiligen Activities gestartet werden

Intent intent = new Intent(getBaseContext(), NextActivity.class);
intent.putExtra("MEININTWERT", meinIntWert);
startActivity(intent)

und innerhalb der nächsten Activity den "übergebenen" Wert mit 

Intent intent = getIntent();
int meinIntWert = intent.getIntExtra("MEININTWERT", 0);

wieder auslesen.

Das funktioniert sogar dann, wenn die beiden Activities zu unterschiedlichen Apps gehören....und vermeidet ein Problem wenn die Klasse mit der static variablen aus Platzgründen während des Wechsels von einer Activity zur nächsten aus Speicherplatzgründen gelöscht würde (was eher selten vorkommt)

Keine passende Antwort gefunden?

Fragen Sie die Community