导航抽屉出错

时间:2017-04-11 10:29:47

标签: android navigationbar

我是Android的新手,我设计了一个导航抽屉,我想显示一条消息(如Toast),因为每个项目都被点击,它运行但是消息没有显示,有人可以帮我吗?

这是我显示消息的代码:

    @Override
    public boolean onOptionsItemSelected(MenuItem item){

    if (mToggle.onOptionsItemSelected(item)){
        return true;
    }
    //return super.onOptionsItemSelected(item);
    //}


    int MyID = item.getItemId();
    if (MyID == R.id.nav_account){
        Toast.makeText(this, "Account", Toast.LENGTH_SHORT).show();
        return true;
    }
    else if (MyID == R.id.nav_settings){
        Toast.makeText(this, "Settings", Toast.LENGTH_SHORT).show();
        return true;
    }
    else if (MyID == R.id.nav_logout){
        Toast.makeText(this, "Log Out", Toast.LENGTH_SHORT).show();
        return true;
    }

    return super.onOptionsItemSelected(item);
}

2 个答案:

答案 0 :(得分:1)

请尝试改写以下方法。

@Override
    public boolean onNavigationItemSelected(MenuItem item) {
        int id = item.getItemId();
        switch (id) {
            case R.id.yourId:
                ...
                break;
        }
    return true;
}

答案 1 :(得分:1)

使用像Screenshot options menu

这样的选项菜单时,方法onOptionsItemSelected()会被覆盖

但是如果你想操纵导航抽屉的select事件,你必须覆盖onNavigationItemSelected()方法。