如何更改导航抽屉图标?

时间:2017-12-27 15:01:39

标签: java android android-studio navigation

我想更改导航抽屉图标。但在我更改了图标后,应用程序崩溃了。错误代码显示了布尔值,我遗憾地不明白。我找不到我的失败。我是以错误的方式实施的吗? 对不起,但我是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);
                }
            }
        });

        ........

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您尚未将值指定为:

mDrawerToggle

在此之前致电setDrawerIndicatorEnabled

mDrawerToggle.setDrawerIndicatorEnabled(false);