2017-12-27 349 views
-2

我想更改我的导航抽屉图标。但是当我更改图标后,应用程序崩溃。错误代码显示了布尔值,这令我很难理解。我找不到我的失败。我是否以错误的方式执行它? 对不起,但我是Android Studio的新手,这个问题可能有点不必要。但尝试了很多解决问题。但是,我还找不到解决方案。如何更改导航抽屉图标?

这是MainClass。我在OnCreate方法之外生成了一个变量。

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); 
       } 
      } 
     }); 

     ........ 

回答

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); 

详细检查了这link

+0

我试过了。它不起作用 –

0

你还没有指定值:上调用setDrawerIndicatorEnabled这里之前

mDrawerToggle 

mDrawerToggle.setDrawerIndicatorEnabled(false); 
+0

没有我在方法之外做? –

+0

不,请看这里:https://developer.android.com/training/implementing-navigation/nav-drawer.html如何实现它 – marcinj