2017-12-27 15 views
-2

Ich möchte mein Navigationsschubladensymbol ändern. Aber nachdem ich das Icon geändert habe, stürzt die App ab. Der Fehlercode zeigt etwas mit Booleschen Werten, was ich leider nicht verstehe. Ich kann mein Versagen nicht finden. Habe ich es falsch umgesetzt? Entschuldigung, aber ich bin neu in Android Studio und diese Frage könnte vielleicht ein wenig unnötig sein. Aber ich habe viel versucht, um das Problem zu lösen. Ich konnte jedoch noch keine Lösung finden.Wie ändere ich das Navigationsschubladensymbol?

Das ist die MainClass. Ich habe eine Variable außerhalb der OnCreate-Methode generiert.

public class MainActivity extends AppCompatActivity { 

    private DrawerLayout mDrawerLayout; 
    ExpandableListAdapter mMenuAdapter; 
    ExpandableListView expandableList; 
    List<ExpandedMenuModel> listDataHeader; 
    HashMap<ExpandedMenuModel, List<String>> listDataChild; 

    ActionBarDrawerToggle mDrawerToggle; 

    Drawable drawable; 

    WebView webView; 
    Toolbar toolbar; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_navigation_view); 

     mDrawerToggle.setDrawerIndicatorEnabled(false); 

     drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_menu_gallery, getTheme()); 

     mDrawerToggle.setHomeAsUpIndicator(drawable); 
     mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (mDrawerLayout.isDrawerVisible(GravityCompat.START)) { 
        mDrawerLayout.closeDrawer(GravityCompat.START); 
       } else { 
        mDrawerLayout.openDrawer(GravityCompat.START); 
       } 
      } 
     }); 

     ........ 

Antwort

1
mDrawerToggle = ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close); 
mDrawerToggle.setDrawerIndicatorEnabled(false); 
mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (mDrawerLayout.isDrawerVisible(GravityCompat.START)) { 
        mDrawerLayout.closeDrawer(GravityCompat.START); 
       } else { 
        mDrawerLayout.openDrawer(GravityCompat.START); 
       } 
      } 
     }); 
mDrawerToggle.setHomeAsUpIndicator(R.drawable.ic_menu_gallery); 

Dazu mehr überprüfen link

+0

Ich habe es ausprobiert. Es hat nicht funktioniert –

0

Sie haben nicht Wert zugewiesen:

mDrawerToggle 

vor und forderte sie auf setDrawerIndicatorEnabled hier:

mDrawerToggle.setDrawerIndicatorEnabled(false); 
+0

Habe ich nicht mach es außerhalb der Methode? –

+0

Nein, siehe hier: https://developer.android.com/training/implementing-navigation/nav-drawer.html wie man es implementiert – marcinj