Wechselbare Registerkarten im Slider-Menüfragment

8

Ich habe Navigationsschublade implementiert, indem ich dieses Tutorial und Was ich jetzt machen möchte, ist das Anzeigen von Streifentabs in einem Fragment. dh wenn ich auf ein Element in der Navigationsleiste klicke, sagen wir die erste, sollte es Wischvorsprünge für diese Elemente anzeigen. (Ich habe 6 Fragmente in meiner Listenansicht. (ebenfalls: - A, B, C, D, E, F) und ich brauche 3 austauschbare Tabs auf meinem A Fragment.)

Wenn das Element1 Ereignisse ist, wenn ich es anklicke, sollte es Wischregister anzeigen.

Aber ich habe folgende Probleme: -

  1. Wie kann ich den View Pager im Fragment implementieren?

  2. Es ist möglich, dass ein Fragment ein Fragment erweitert.

  3. Wenn ein Fragment eine FragmentActivity erweitert, dann zeigt Code in meiner Hauptaktivität einen Fehler an, der besagt, dass "type mismatch" nicht von A Fragment in Fragment konvertieren kann.

Das ist meine Deep.java-Datei

%Vor%

In diesem Code sehe ich ein Problem im Fall 0.

Dies ist mein HomeFragment-Code: -         Paket com.amar.demo;

%Vor%

Das ist mein deep.xml-Code: -         

%Vor%

Dies ist mein homefragment.xml-Code: -

%Vor%     
Amardeepvijay 15.05.2014, 12:40
quelle

3 Antworten

10

Sie müssen ein Fragment mit einem benutzerdefinierten Layout erstellen, das einen ViewPager enthält.

Befolgen Sie diese Schritte, es wird im gesamten Prozess führen.

1. Erstellen Sie das Layout, um den ViewPager zu repräsentieren, und nennen Sie es fragment_main.xml

%Vor%

2. Erstellen Sie ein Fragment, das den in der obigen XML deklarierten ViewPager enthält, und nennen Sie ihn MyFragment.java

Wie Sie sehen können, deklarieren wir die TabHost die ViewPager und andere Elemente, die im obigen XML deklariert sind. In diesem Fragment werden auch das zuvor erstellte Layout und ein TabAdapter für alle Registerkarten aufgebläht.

%Vor%

Wie Sie sehen können, ruft jede Registerkarte ein bestimmtes Fragment auf. Diese Fragmente repräsentieren den Inhalt für jede Registerkarte. Also lassen Sie uns sie erstellen, sie sind sehr einfach und enthalten nur ein TextView .

3. Erstellen Sie ein Fragment für den ersten Tab-Inhalt, nennen Sie es PageOneFragment.java

Dieses Fragment enthält den Inhalt der ersten Registerkarte. Sie können alles in dieses Fragment einfügen, es wird getrennt von den anderen Fragmenten und von den anderen Tabs leben.

Hier wird das XML-Layout pageone_fragment.xml in der Methode onCreateView aufgebläht. Wir werden dieses XML-Layout im nächsten Schritt erstellen.

%Vor%

Wir müssen das Layout für dieses Fragment wie bereits erwähnt erstellen.

4. Erstellen Sie das Layout für das PageOneFragment, nennen Sie es pageone_fragment.xml

Dies ist nur ein einfaches Layout mit einem TextView , um den Inhalt der Registerkarte darzustellen. Sie können alles, was Sie wollen, in diesem Layout erstellen, es wird getrennt von den anderen Fragmenten und Tabs leben.

%Vor%

Da wir zwei Registerkarten haben, haben wir zwei Fragmente, eines für jede Registerkarte. Lassen Sie uns das zweite Fragment für den zweiten Tab-Inhalt erstellen.

5. Erstellen Sie das Fragment für den Inhalt der zweiten Registerkarte, nennen Sie es PageTwoFragment.java

Wie Sie sehen können, pumpen wir ein anderes Layout für die Methode onCreateView auf, das heißt pagetwo_fragment.xml . Wir werden es im nächsten Schritt erstellen.

%Vor%

Und wie zuvor für das PageOneFragment, erstellen wir auch das Layout für das zweite Fragment, wie wir bereits erwähnt haben.

6. Erstellen Sie das Layout für das PageTwoFragment, nennen Sie es pagetwo_fragment.xml

Dies ist ein einfaches Layout mit einem einzigen TextView , nur um den Inhalt darzustellen. Sie können hier alles erstellen, was Sie wollen, es wird getrennt von den anderen Fragmenten und Tabs leben.

%Vor%

7. Nennen Sie dieses Fragment von Ihrem NavigationDrawer

Wenn Sie dieses Fragment von Ihrem NavigationDrawer in der switch -Anweisung der displayView(int position) -Methode Ihrer Aktivität aufrufen möchten, sollten Sie dies beispielsweise in einer Ihrer case -Anweisungen tun.

%Vor%

Hier ist das Endergebnis

A ViewPager wird auf einem Fragment ausgeführt, wobei zwei Registerkarten jeweils ein eindeutiges Fragment mit einem eindeutigen Inhalt enthalten.

Das ist es.

Hoffe das hilft dir.

    
rogcg 15.05.2014, 12:45
quelle
0

Für einen Fehler in Schritt 7 "Typenkonflikt

mach es:

%Vor%

und für den Fall:

%Vor%     
Michael Kamelin 25.09.2014 02:25
quelle
-1
%Vor%

wo Deklaration von mTabs Variable

Danke

    
skip 28.01.2015 10:32
quelle