Ich versuche eine App zu erstellen, die Aktionsleisten-Registerkarten implementiert. Eine der Registerkarten sollte ein MapFragment enthalten.
Wie kann ich eine Aktionsleiste mit Tabs implementieren, unter denen sich ein Kartenfragment befindet?
Können Sie mir helfen, wie ich damit fortfahren soll?
Hier ist was ich bisher habe:
Hauptklasse
%Vor%Die Fragment-Klassen geben alle nur einen Inflator mit einem .xml-Layout zurück.
XML-Layouts:
main.xml (map sollte in dieser XML-Datei enthalten sein)
%Vor%settings.xml UND about.xml
%Vor%Ich habe versucht, herauszufinden, wie ich für ein paar Tage vorgehen soll, aber ich bin wirklich verwirrt. Jede Hilfe / Tipps würde sehr geschätzt werden.
Was ist mit getLastNonConfigurationInstance()
? Es ist veraltet.
In der folgenden Lösung ist es möglich, eine GoogleMap zu einer Aktionsleiste / Dropdown-Liste hinzuzufügen. Der Schlüssel dazu liegt in der korrekten Einrichtung Ihres Fragments, um das MapFragment beim Wechseln zu einem anderen Fragment in der Aktionsleiste zu zerstören.
Erstellen Sie eine Aktivität, die die Aktionsleistenfunktion implementiert:
Activity
erweitert und implementiert ActionBar.OnNavigationListener
. public boolean onNavigationItemSelected(int position, long id)
. position
, um die ausgewählte Registerkarte zu bestimmen, und setzen Sie das Fragment mit dem FragmentManager wie folgt auf eine neue Instanz: getFragmentManager().beginTransaction().replace(R.id.container, fragment).commit()
. Erstellen Sie ein Fragment, das die Karte enthält:
Fragment
erweitert, um sie als das Fragment Ihrer Registerkarte zu verwenden. Lesen Sie [ 1 ], um das MapFragment besser zu verstehen. onCreateView
. Nicht sicher, ob Sie es bereits gelöst haben oder nicht. Sie müssen Google Play-Dienste als Bibliotheksprojekt hinzufügen, damit es funktioniert. Zuerst habe ich versucht, die JAR-Datei hinzuzufügen, aber das hat nicht funktioniert.
Tags und Links android android-layout android-fragments google-maps-android-api-2 android-maps