Ich habe eine MainActivity in meiner Android-Anwendung, in der eine Liste von Elementen in einer RecyclerView angezeigt wird.
Jedes Element kann mehrere Unterelemente haben, und Unterelemente können auch eigene untergeordnete Elemente haben (wie ein Baum). Ich möchte die gleiche Aktivität für Haupt- und Unterelemente anzeigen, jedoch mit einem Zurück-Pfeil in der Aktionsleiste.
Ist es möglich, MainActivity wiederzuverwenden?
4 Antworten
Ja, Sie können dies mit Fragmenten tun. Anstatt Listen in MainActivity
anzuzeigen, nehmen Sie einen Fragmentcontainer in MainActivity
und erstellen Sie Fragmente, in denen Sie Ihre Listen und Unterelemente entsprechend Ihren Anforderungen anzeigen können.
Durch Überprüfen der Fragmentinstanz in MainActivity
können Sie den Rückpfeil der Aktionsleiste ein- und ausblenden.
Ja, MainActivity kann wiederverwendet werden. Jedes Mal, wenn Sie startActivity ohne speziellen Startmodus oder Flags aufrufen, wird eine neue Instanz von MainActivity erstellt, die als absolut neu angesehen wird.
Bei der Arbeit an einer Dateimanager-Anwendung ist ein ähnliches Problem aufgetreten. Ich habe also einen FolderNavigator-Stapel erstellt, der mir dabei half, die aktuelle Position des Benutzers zu verfolgen, anhand derer ich oben Brotkrumen angezeigt habe. Und ich habe mein Fragment mit diesem Navigator verknüpft, sodass mein Ordner benachrichtigt wird, sobald sich der Blick auf den Stapel ändert, und die Daten des Blicks auf den Stapel geladen werden. Wenn ich zurückdrücke, platziere ich einfach den Stapel und da mein Fragment bereits mit dem Blick auf den Stapel verbunden ist, werden die entsprechenden Daten angezeigt.
Sie können Fragmente verwenden, um Ihre Anforderungen zu erfüllen.
Von dieser SO-Antwort:
Fragmente sind meiner Meinung nach eher ein Vorteil für die Benutzeroberfläche. Es ist für den Benutzer manchmal bequem, zwei verschiedene Ansichten von zwei verschiedenen Klassen auf demselben Bildschirm zu sehen.
Weitere Informationen zu Fragmenten finden Sie in diesem Dokument unter .
Neue Fragen
android
Android ist Googles mobiles Betriebssystem, mit dem digitale Geräte (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) programmiert oder entwickelt werden. Verwenden Sie für Themen im Zusammenhang mit Android Android-spezifische Tags wie Android-Intent, Android-Aktivität, Android-Adapter usw. Verwenden Sie für andere Fragen als Entwicklung oder Programmierung, die sich jedoch auf das Android-Framework beziehen, diesen Link: https: // android.stackexchange.com.