Die Navigation nach oben (Pfeil in der Aktionsleiste) funktioniert nicht für Fragmente

8

Ich habe ein Schubladen-Layout als Basis-Layout meiner Aktivität und ich ersetze zwei Fragmente auf einem Rahmen, der in diesem Schubladen-Layout vorhanden ist. Das erste Fragment wird nicht im Backstack des Fragments hinzugefügt. Ich zeige ein Hamburger-Icon in meiner Aktivität an (ich möchte auch das Schubladenmenü in meinem ersten Fragment). Im zweiten Fragment habe ich das Hamburger-Symbol um mActionBarDrawerToggle.setDrawerIndicatorEnabled(false) deaktiviert und den Zurück-Button mit actionBar.setDisplayHomeAsUpEnabled(true) aktiviert.

In ersten Fragmenten onResume habe ich das hamburger icon von mActionBarDrawerToggle.setDrawerIndicatorEnabled (true) aktiviert, so dass der Benutzer beim Zurückdrücken der Schaltfläche (sowohl der Hardware- als auch der Aktionsleiste) vom zweiten Fragment zum ersten Fragment und Hamburger Icon zurückkehrt wird aktiviert. Alles funktioniert gut nur ich bin nicht in der Lage, von der zweiten Fragmenten Action Bar zurück Knopf zu gehen. Ich kann es nicht anklicken. Unten ist mein Code: -

Aktivitätscode

%Vor%

Aktivitäts-XML

%Vor%

Erstes Fragment: -

%Vor%

Zweites Fragment

%Vor%

Wenn ich im zweiten Fragment bin, bin ich in der Lage zu wischen und das Schubladenmenü zu sehen. Ich möchte dieses Verhalten nicht, Schubladenmenü sollte nur in Fragment 1 öffnen.

Wenn etwas in meinem Code falsch ist, lass es mich wissen.

    
Amrut 16.11.2015, 13:01
quelle

2 Antworten

13

Endlich die Antwort bekommen. In meinem Szenario deaktiviere ich die Schubladenanzeige um mActionBarDrawerToggle.setDrawerIndicatorEnabled(false); und aufgrund dieses Navigationssymbols wurden Klicks deaktiviert. Um dies zu aktivieren, muss ich ToolbarNavigationClickListener zu ActionBarDrawerToggle hinzufügen, was Klicks auf das Navigationssymbol ermöglicht.

Unten ist der Code für meine Arbeit: -

%Vor%

Weitere Informationen finden Sie unter diesem Link

    
Amrut 23.11.2015, 13:35
quelle
2

Nachdem ich jahrelang mit dem gleichen Problem zu kämpfen hatte, gelang es mir schließlich, mit diesem Code in Fragmenten zu arbeiten. Sie müssen setHasOptionsMenu in onCreate () oder onCreateView () eingerichtet haben

%Vor%

Fügen Sie dann in onOptionsSetelected () diese Überprüfung hinzu, damit die up / home-Schaltfläche an Ihre switch-Anweisung () [oder if ...] gedrückt wird:

%Vor%     
Stuart Walsh 22.01.2017 15:15
quelle