So habe ich eine ListView von Übungen, wenn ich auf ein Element klicken ich gehe zu Detail.java Aktivität und ich zeige die Informationen der Übung, aber ich habe eine Schaltfläche als nächstes in der unteren Gehe zur nächsten Übung. Ich habe keine Idee, dies zu tun, ohne viele Detailaktivitäten zu erstellen.starten Aktivität von ListView und dann nächste Aktivität
Antwort
soweit ich von der Info verstehen u gab: Sie Objekt zwischen Aktivitäten passieren kann Serializable und Parcel Schnittstelle verwenden, die Ihr Objekt
Using Serializable and Parcelable instructions
implementieren solltenDer nächste Schritt Daten aus Ihrer Haupttätigkeit auf die detaillierte Aktivität
Mit serializable
ArrayList<ModelClass> yourModelList= new ArrayList<Model>();
intent.putExtra("modelList", yourModelList);
Daten abrufen
ArrayList<ModelClass> modelList= (ArrayList<ModelClass>).getIntent().getSerializableExtra("modelList");
Mit Parcelvorbei
Intent intent = new Intent(this,Detail.class);
intent.putParcelableArrayListExtra("modelList", modelList);
startActivity(intent);
Abrufen von Daten in Ihrem Detail.java Aktivität
ArrayList<ModelClass> modelList= getIntent().getParcelableArrayList("modelList");
Neben ich sehr empfehlen Sie Fragment verwenden, Coz es chaotisch wird, wenn Sie durch Ihre Arraylist von einer Tätigkeit beginnen Iterieren zu eine andere Speichern IDs und andere Sachen Hope dies hilft;)
danke, es funktioniert, aber getParcelableExtra ("modelList") funktioniert nicht ich verwendet getStringArrayListExtra .. –
Ich habe meine Antwort versucht mit .putParcelableArrayListExtra und GetParcelableArrayListExtra bearbeitet – Aliy
Sie können die Detailaktivität mit einem Bündel mit den gewünschten Parametern starten, in diesem Beispiel die ID der nächsten Übung.
Intent mIntent = new Intent(this, Detail.class);
Bundle mBundle = new Bundle();
mBundle.putInt("id", theIdOfNextExercise);
mIntent.putExtras(mBundle);
startActivity(mIntent);
Dann werden in der Aktivität gestartet Details, können Sie die Parameter über lesen:
int exerciseId = getIntent().getExtras().getInt("id", 0);
Und dann zeigen die auf diese Übung in Ihrem Detail Aktivität im Zusammenhang Detail. Ich habe den Standardwert als 0 festgelegt, wenn also ÜbungId> 0 ist, muss die ID der Übung angezeigt werden.
Bündel haben Methoden "get" und "put" für alle primitiven Typen, Serialisables und Parcelables. Die Verwendung einer Ganzzahl mit putInt/getInt ist nur ein Beispiel.
Sie Bündel können Sie die ID Ihres Trainings speichern und als es auf die Aktivität fangen Sie genannt ... Ich schlage vor, Sie Fragment zu verwenden, ist es schwieriger, aber es ist klügste und benutzerfreundlicher
- 1. starten Aktivität von Präferenz Aktivität
- 2. neue Aktivität auf Klick starten listview item
- 3. Starten PreferenceDialog von Aktivität
- 4. Starten von Aktivität von Widget
- 5. Android: Neue Instanz der vorherigen Aktivität starten und dann beenden
- 6. Klare Aktivität Stack und starten Sie neue Aktivität in Android
- 7. Aktivität starten und Aktivitätsverlauf löschen
- 8. Starten einer Aktivität und eines Fragments aus einer anderen Aktivität
- 9. Intent und starten Aktivität von String
- 10. Aktivität von anderer App starten?
- 11. Aktivität von ViewHolder starten onclick
- 12. Starten eine Aktivität von preferences.xml
- 13. Aktivität zu Aktivität fragmentieren und dann zurück zum Fragment
- 14. Benachrichtigung starten eine Aktivität starten
- 15. Permission Aktivität starten verweigert
- 16. Andere Aktivität nach createChooser starten
- 17. Standardfragment auf Aktivität Starten
- 18. Aktivität kann nicht eine andere Aktivität stoppen und dann selbst
- 19. ListView abstürzt Aktivität
- 20. Android-Aktivität 'manuell' starten
- 21. Aktivität starten und Eingabe über DialogFragment übergeben
- 22. android: Kann Aktivität starten
- 23. Unable Aktivität starten
- 24. Aktivität zu lange starten
- 25. Android BroadcastReceiver starten Aktivität
- 26. Android meine Aktivität neu starten
- 27. Starten Kotlin Aktivität * .kt von Java-Aktivität * .java?
- 28. Absturz beim Starten der Aktivität
- 29. Floating-Schaltfläche Neue Aktivität starten
- 30. Aktivität innerhalb Aktivität
Wat über Fragmente statt Aktivität zu verwenden Fragmente, um Inhalt zu ersetzen. –