Ich habe gebe eine Arraylist von Songs der Absicht, einmal ein Problem passieren, beginnend mit, ist mein Code hier:Wie eine Arraylist und eine ganze Zahl auf eine neue Aktivität (Android) habe ich eine neue Aktivität
ArrayList<Song> songs = new ArrayList<>();
songs.add(new Song("title", "artist"));
Intent intent = new Intent(this, Game.class);
int dif = 0;
Bundle bundle = new Bundle();
if (songs != null) {
bundle.putParcelableArrayList("DEVICE_SONGS", songs);
bundle.putInt("DIFFICULTY", dif);
intent.putExtras(bundle);
}
startActivity(intent);
Song implementiert bereits Parcelable.
Wenn startActivity
ausgeführt wird, startet Game
Aktivität nicht, stattdessen geht es bis zur übergeordneten Aktivität ohne Fehler in den Protokollen.
Ich habe dies versucht, ohne bundle
zu intent
hinzuzufügen, und die richtige Aktivität beginnt.
Jede mögliche Hilfe bei diesem geschätzt wird, dank
EDIT
Ich habe jetzt mit putParcelableArrayListExtra()
versucht wie folgt:
if (songs != null) {
intent.putParcelableArrayListExtra("DEVICE_SONGS", songs);
intent.putExtra("DIFFICULTY", dif);
}
und ich habe das gleiche Problem. Ich versuche auch nicht, auf die Extras der neuen Aktivität zuzugreifen.
EDIT 2
Nach weiteren Tests (auf einem virtuelles Gerät), es tatsächlich funktioniert, so dass ich denke, dass diese mit dem Gerät zu tun ist, ich verwende (OnePlus X mit Sauerstoff OS) . Die Frage ist nun, wie kann ich es auf allen Geräten nutzen?
Versuchen Sie mit PutParcelableArrayListExtra. https://developer.android.com/reference/android/content/Intent.html#putParcelableArrayListExtra(java.lang.String, java.util.ArrayList erweitert android.os.Parcelable>) –
@MiguelBenitez Danke! Dies funktioniert auf dem virtuellen Gerät (aber nicht auf meinem) – chilliBeanDream
Sie könnten versuchen, ein Parcelable-Array anstelle einer ArrayList zu senden.Überprüfen Sie meine Antwort –