不能在动作栏项目点击打开抽屉式导航栏 [英] Can not open navigation drawer on action bar item click

查看:166
本文介绍了不能在动作栏项目点击打开抽屉式导航栏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在菜单中,单击要打开的抽屉权
我已经使用了以下code,但它不工作因为某些原因

  mDrawerToggle =新ActionBarDrawerToggle(getActivity(),mDrawerLayout,工具栏,R.string.drawer_open,
            R.string.drawer_close){        @覆盖
        公共布尔onOptionsItemSelected(菜单项项){
            如果(项目= NULL&放大器;!&安培; item.getItemId()== R.id.more){
                如果(mDrawerLayout.isDrawerOpen(Gravity.END)){
                    saveTo preferences(getActivity(),KEY_USER_LEARNED_DRAWER,mUserLearnedDrawer +);
                    mDrawerLayout.closeDrawer(Gravity.END);
                }其他{
                    mDrawerLayout.openDrawer(Gravity.END);
                }
            }
            返回false;
        }
    };

请帮我出


  

解决它通过修改在MainActivity


  @覆盖
公共布尔onOptionsItemSelected(菜单项项){
    开关(item.getItemId()){
        案例R.id.action_settings:
            返回true;
        案例R.id.more:
            如果(notificationDrawerFragment.mDrawerLayout.isDrawerOpen(Gravity.END)){
                notificationDrawerFragment.mDrawerLayout.closeDrawer(Gravity.END);
            }
            其他
            {notificationDrawerFragment.mDrawerLayout.openDrawer(Gravity.END);
            }        默认:
            返回super.onOptionsItemSelected(项目);
    }
}


解决方案

在主要活动中修改菜单选项解决以下

  @覆盖
公共布尔onOptionsItemSelected(菜单项项){
    开关(item.getItemId()){
        案例R.id.action_settings:
            返回true;
        案例R.id.more:
            notificationDrawerFragment.mDrawerLayout.openDrawer(Gravity.END);        默认:
            返回super.onOptionsItemSelected(项目);
    }
}

i want the right drawer to be opened on menu click i have used the following code but its not working for some reason

mDrawerToggle = new ActionBarDrawerToggle(getActivity(),mDrawerLayout,toolbar, R.string.drawer_open,
            R.string.drawer_close) {

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            if (item != null && item.getItemId() == R.id.more) {
                if (mDrawerLayout.isDrawerOpen(Gravity.END)) {
                    saveToPreferences(getActivity(),KEY_USER_LEARNED_DRAWER,mUserLearnedDrawer+"");
                    mDrawerLayout.closeDrawer(Gravity.END);
                } else {
                    mDrawerLayout.openDrawer(Gravity.END);
                }
            }
            return false;
        }
    };

please help me out

SOLVED IT BY MODIFYING THE MAINACTIVITY

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.action_settings:
            return true;
        case R.id.more:
            if (notificationDrawerFragment.mDrawerLayout.isDrawerOpen(Gravity.END)){
                notificationDrawerFragment.mDrawerLayout.closeDrawer(Gravity.END);
            }
            else
            { notificationDrawerFragment.mDrawerLayout.openDrawer(Gravity.END);
            }

        default:
            return super.onOptionsItemSelected(item);
    }
}

解决方案

Solved the following by modifying the menu option within the main activity

 @Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.action_settings:
            return true;
        case R.id.more:
            notificationDrawerFragment.mDrawerLayout.openDrawer(Gravity.END);

        default:
            return super.onOptionsItemSelected(item);
    }
}

这篇关于不能在动作栏项目点击打开抽屉式导航栏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆