Es ist vielleicht eine ziemlich neue Frage, aber trotzdem. Da Tabhost abgeschrieben ist, habe ich versucht, zu den Tabs der Aktionsleiste zu wechseln, aber ich habe Probleme mit Fragmenten. Gibt es eine Möglichkeit, Aktivitäten innerhalb der Aktionsleiste Tabs trotzdem zu verwenden?
Ich würde jede Hilfe zu schätzen wissen.
Danke.
Wenn Sie Aktivitäten über Fragmente verwenden möchten, können Sie einfach eine Absicht verwenden, um Ihre Aktivität von Ihrem ActionBar.TabListener
Sie sollten auch diesen Kommentar zur Verwendung von Fragmenten über Aktivitäten
lesenGibt es eine Möglichkeit, auf den Aktionsleisten-Tabs trotzdem Aktivitäten zu verwenden?
Glücklicherweise nein.
Das heißt jedoch nicht, dass Sie Fragmente verwenden müssen. Ihr TabListener
kann alles tun, um die Änderung in Ihrer Benutzeroberfläche zu beeinflussen. Eine Brute-Force-Lösung wäre es, setContentView()
erneut aufzurufen, alle alten Widgets auszugeben und einen brandneuen (vermutlich anderen) Satz zu erstellen.
Es ist möglich, Activity
mit ActionBar
zu verwenden. Vorsicht, dies ist kein beabsichtigtes Verhalten, aber das bedeutet nicht, dass es nicht perfekt funktioniert.
Wahrscheinlich möchtest du die Animation in deinem Activity
überschreiben, so dass die Änderung der Tabs keine Rolle spielt.
Ändern Sie dazu die onCreate()
-Methode von Activity
, wodurch ActionBarActivity
Wenn mein Verständnis korrekt ist, möchten Sie die Aktionsleiste verwenden, um die Aktivität anstelle des Fragments zu tauschen. Bitte lesen Sie in diesem Fall weiter.
Aus dem offiziellen Dokument, das Sie sehen können, definiert das Aktionsleisten-Feature eine Menge von ui, position. Wenn Sie Actionbar mit Aktivität implementieren möchten, ist das Wichtigste, was zu tun ist 1. Verknüpfen Sie Ihre Registerkarte (Position) mit Ihrer Aktivität. 2. Fügen Sie tablistener callback hinzu (instanziieren Sie Ihre neue Aktivität, stoppen Sie die aktuelle Aktivität), jedes Mal, wenn Sie auf die Registerkarte klicken,
Das beste Design besteht darin, dass der Tablistener eine separate Klasse implementiert, so dass jede Ihrer Aktivitäten diese Klasse verwenden kann.
Tags und Links android android-activity android-fragments android-actionbar