Zu einer Activity zurück kehren und Daten mit Intent übernehmen

  • Antworten:12
  • Bentwortet
SilverBlue
  • Forum-Beiträge: 45

11.09.2016, 13:06:09 via Website

Ich habe folgende Activitys:
Act1, Act2, Act3

Beim App-Start wird die Act1 aufgerufen. Diese sammelt Daten vom User ein und werden zur Act2 "mitgeschleppt". Nun ruft der User Act3 auf. Die Daten werden weiter "mitgeschleppt". Das funktioniert alles auch wunderbar, doch wenn der User nun von der Act3 zur Act2 zurückkehrt, werden die Daten mit Intent nicht mehr mitgenommen. Woran könnte das liegen?

// Datensätze aus der vorherigen-Activity ÜBERNEHMEN
    Intent intent = getIntent();
    final String SPIELER_ID = intent.getStringExtra("SPIELER_ID");

// Daten aus der veorherigen-Activity AUSLESEN
Intent intent  = new Intent (Inventar.this, UserArea.class);
            intent.putExtra("SPIELER_ID", SPIELER_ID);

Antworten
SilverBlue
  • Forum-Beiträge: 45

11.09.2016, 13:14:00 via Website

okay, und wie mache ich das? :-D

PS: Mit dem Code rufe ich die Act2 wieder auf:

Intent userareaIntent = new Intent (Act3.this, Act2.class);
            Act3.this.startActivity(userareaIntent);

— geändert am 11.09.2016, 13:15:04

Antworten
pepperonas
  • Forum-Beiträge: 434

11.09.2016, 13:22:43 via Website

Jo, dann legst du jetzt noch die Daten ins Bundle (oder gibst sie so ohne Bundle über die Extras weiter) und die Sache sollte schon laufen. Das Prinzip wirst du bereits beim Wechsel von A1 -> A2 angewandt haben um die Daten zu übergeben...

Open Source

Ludy

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.958

11.09.2016, 13:24:39 via Website

Activity 3

private String keineAhnungWas;

#onCreate    
keineAhnungWas = getIntent().getExtraString("keine_ahnung_was");

@Override
public void onBackPressed() {
    Intent i = new Intent(this, Activity2.class);
    i.putExtra("keine_ahnung_was", keineAhnungWas);
    startActivity(i);
    finish();
}

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

SilverBlue

Antworten
SilverBlue
  • Forum-Beiträge: 45

11.09.2016, 13:31:07 via Website

Danke, aber kann ich die Routine onBackPressed() denn auch hier in meinem Fall nutzen? Der User klickt einen ImageButton an, er nutzt nicht die Zurück-Taste auf seinem Smartphone.

Antworten
SilverBlue
  • Forum-Beiträge: 45

11.09.2016, 13:36:23 via Website

Vielen Dank ;-)

Noch eine kleine Frage....
Beim Wechsel von Activitys habe ich nie finish(); angegeben. Hat das irgendwelche Vor- oder Nachteile?

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.958

11.09.2016, 13:40:09 via App

Hat den Vorteil, dass du Ressourcen freigibst und die activity geschlossen wird.
Es gibt auch noch sogenannte FLAGs die man setzten kann, ließ dir mal die Doc zu Intent durch.

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
SilverBlue
  • Forum-Beiträge: 45

11.09.2016, 13:46:46 via Website

Und nochmals vielen Dank ;-)

Antworten
swa00
  • Forum-Beiträge: 3.704

11.09.2016, 21:54:59 via Website

Du könntest natürlich auch gar nichts "mitschleppen" und stattdessen eine "Setup" Singleton-Klasse erstellen.
Macht mE das Leben etwas leichter.
lg
Stefan

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
pepperonas
  • Forum-Beiträge: 434

12.09.2016, 01:58:05 via Website

swa00

Du könntest natürlich auch gar nichts "mitschleppen" und stattdessen eine "Setup" Singleton-Klasse erstellen.
Macht mE das Leben etwas leichter.

Stimmt schon.
Problematisch wirds jedoch, wenn die Datenmenge zu groß wird oder eine App mehrere Interaktionen (zB in Form von Threads) gleichzeitig durchführt und auf die Daten in "Setup" zugreift.

Open Source

Antworten
swa00
  • Forum-Beiträge: 3.704

12.09.2016, 08:10:15 via Website

Richtig ,

er mag allerdings an dieser Stelle (wie Topic) primär nur seine seine Daten beim Activity-Wechsel hin und her schieben.
Dann macht es Sinn

— geändert am 12.09.2016, 10:52:32

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten