2017-02-16 1 views
2

Ich verwende Google Design Support Library und DrawerLayout.ActionBarDrawerToggle öffnet Schublade nicht, bis die erste Folie

Setup:

final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
NavigationView drawer = (NavigationView) findViewById(R.id.drawer); 
if(mDrawerToggle == null) { 
    mDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, mToolbar, R.string.open, R.string.feather_close); 
    drawerLayout.addDrawerListener(mDrawerToggle); 
    mDrawerToggle.syncState(); 
} 

Wenn ich meine Anwendung zu starten, die sich allmählich ausbreitende Wirkung des Hamburgers Symbol angezeigt wird, aber die Schublade geöffnet wird nicht. Wenn ich die Schublade mindestens einmal durch Ziehen von links öffne, funktioniert das Hamburger-Icon für die gesamte Laufzeit. Ich habe keinen speziellen Listener auf der Umschaltfläche oder der Schublade selbst und die Methode onOptionsItemSelected wird nicht aufgerufen.

Bitte helfen Sie mir herauszufinden, was passiert.

Vielen Dank.

Antwort

4

ich es gefunden: Ich hatte android:visibility="gone" in meinem NavigationView zufällig. Was für eine freakige Nebenwirkung.

-1

Ich löste es es mit:

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
      this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
    drawer.setDrawerListener(toggle); 
    toggle.syncState(); 

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
    navigationView.setNavigationItemSelectedListener(this); 
+0

Das ist genau das, was ich tue ... + setDrawerListener ist veraltet –

+0

Welche Version von DrawerLayout verwenden Sie? Ich benutze v4. importieren android.support.v4.widget.DrawerLayout; – lsca

Verwandte Themen