2016-05-07 7 views
3

Ich benutze eine MaterialDrawer von Mike Penz und ich konfrontiert mit Problem. Ich habe Activity (AppCompat) und 3 Fragments. Activity enthalten alle fragments. In fragment 2 und 3 i aktivieren Zurück button in OnCreateMaterialDrawer zurück Button in Fragment

((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

und in Activity

@Override 
    public void onBackPressed() { 
     if (drawer.isDrawerOpen()) 
      drawer.closeDrawer(); 
     if (getFragmentManager().getBackStackEntryCount() == 1) { 
      getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
      drawer.getActionBarDrawerToggle().syncState(); 
      getFragmentManager().popBackStack(); 
     } else if (getFragmentManager().getBackStackEntryCount() > 0) 
      getFragmentManager().popBackStack(); 
     else 
      super.onBackPressed(); 
    } 

Wenn aktiv fragment 2 und 3 click auf den Back Button führen zum Öffnen Drawer & Wie ich die deaktivieren Rufen Sie Drawer in der 2 und 3 fragment durch Drücken der Taste Back?

Wenn ich einen Standard Drawer hatte ich ein Thema mit ActionBar, gibt es keine solchen Probleme.

UPD ich brauche

+0

Versuch zu gehen diese Antwort auf stackoverflow ............ http: //stackoverflow.com/ a/7992472/3678308 –

Antwort

1

ändern

if (drawer.isDrawerOpen()) 
    drawer.closeDrawer(); 
if (getFragmentManager().getBackStackEntryCount() == 1) { 
    getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
    drawer.getActionBarDrawerToggle().syncState(); 
    getFragmentManager().popBackStack(); 
} 

Um

if (drawer.isDrawerOpen()) 
    drawer.closeDrawer(); 
else if (getFragmentManager().getBackStackEntryCount() == 1) { 
    getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
    drawer.getActionBarDrawerToggle().syncState(); 
    getFragmentManager().popBackStack(); 
} 

Sie sind gut in Toolbar, kein Smartphone physische Taste in Toggle Back Button klicken

+0

Sie richtig, aber es ist keine Lösung – abbath0767

Verwandte Themen