Sagen wir in Aktivität A (Score) Ich erstelle Instanzen meiner benutzerdefinierten Klasse Player. Wie kann ich diese Objekte an Aktivität C senden, ohne sie in Aktivität B (SelectGamemode) behandeln zu müssen? Dies ist, wie ich die Objekte über Parcel von Aktivität A nach B zu sendenSenden Sie Daten nicht zur nächsten Aktivität, sondern die nachher (mit parcelable)
btnNewRound = (Button) findViewById(R.id.btnNewRound);
btnNewRound.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Score.this, SelectGamemode.class);
Bundle bundle = new Bundle();
bundle.putParcelable("EXTRA_PLAYER_1", player1);
bundle.putParcelable("EXTRA_PLAYER_2", player2);
bundle.putParcelable("EXTRA_PLAYER_3", player3);
bundle.putParcelable("EXTRA_PLAYER_4", player4);
intent.putExtras(bundle);
startActivity(intent);
}
});
Jetzt würde ich so meine Spieler Objekte in Aktion B zuzugreifen:
player1= (Player)getIntent().getParcelableExtra("EXTRA_PLAYER_1");
dann in Activity BI im Grunde der Verwendung würde Derselbe Code wie in Übung A, um die Player-Objekte an Aktivität C zu senden, obwohl ich nicht einmal die Objekte in Aktivität B verwende. Wie kann dies vermieden werden? Vielen Dank!
Sie könnten gemeinsame Einstellungen oder Datenbanken verwenden? Und hol sie dir wann immer du willst. –
gemeinsame Präferenzen oder Datenbank verwenden, oder übergeben Sie es durch die zweite Aktivität, vielleicht ohne es zu verwenden, und weiter zum dritten, auch wenn es offensichtlich weniger effizient ist – Daniele
Ich werde die Datenbank ausprobieren, danke! – Kubi