Android 从MenuItem获取Id并转到下一个活动

Android 从MenuItem获取Id并转到下一个活动,android,android-menu,Android,Android Menu,我已经用4个菜单项创建了一个菜单项。我需要在按下时检索菜单项Id,然后必须进行检查以查看按下了什么Id并转到一个新的活动。我尝试过使用item.getTitle()和item.getItemId()但是它没有进入if语句 popup_menu.xml 使用此if(itemId==R.id.one)而不是if(itemName==“工具7-力”| | itemId==“一”) 试试这个 btnToolbox.setOnClickListener(new View.OnClickListen

我已经用4个
菜单项创建了一个
菜单项
。我需要在按下
时检索
菜单项
Id,然后必须进行检查以查看按下了什么Id
并转到一个新的
活动
。我尝试过使用
item.getTitle()
item.getItemId()
但是它没有进入
if语句

popup_menu.xml 使用此
if(itemId==R.id.one)
而不是
if(itemName==“工具7-力”| | itemId==“一”)

试试这个

    btnToolbox.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            PopupMenu popup = new PopupMenu(Screen2_11.this, btnToolbox);
            popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());

            popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {

                   int itemId = item.getItemId();

                    if (itemId == R.id.one) {
                        Intent i = new Intent(getApplicationContext(), Screen108_Force.class);
                        startActivity(i);
                    } else if (itemId == R.id.two) {
                        Intent i = new Intent(getApplicationContext(), Screen120_Focus.class);
                        startActivity(i);
                    } else if (itemId == R.id.three) {
                        Intent i = new Intent(getApplicationContext(), Screen119_Action.class);
                        startActivity(i);
                    } else if (itemId == R.id.four) {
                        Intent i = new Intent(getApplicationContext(), Screen136_Questions.class);
                        startActivity(i);
                    }
                    return true;
                }
            });
            popup.show();
        }
    });

您需要先初始化菜单。完成onCreate()后添加此部分

然后在此处处理按下的项目选项

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();

    //here initialize your button pressed.

    return super.onOptionsItemSelected(item);
}

感谢工作完美的男士。@AnonymousZA很乐意帮助您只需等待3分钟即可接受答案。
    btnToolbox.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            PopupMenu popup = new PopupMenu(Screen2_11.this, btnToolbox);
            popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());

            popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {

                   int itemId = item.getItemId();

                    if (itemId == R.id.one) {
                        Intent i = new Intent(getApplicationContext(), Screen108_Force.class);
                        startActivity(i);
                    } else if (itemId == R.id.two) {
                        Intent i = new Intent(getApplicationContext(), Screen120_Focus.class);
                        startActivity(i);
                    } else if (itemId == R.id.three) {
                        Intent i = new Intent(getApplicationContext(), Screen119_Action.class);
                        startActivity(i);
                    } else if (itemId == R.id.four) {
                        Intent i = new Intent(getApplicationContext(), Screen136_Questions.class);
                        startActivity(i);
                    }
                    return true;
                }
            });
            popup.show();
        }
    });
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater menuInflater = getMenuInflater();
    menuInflater.inflate(R.menu.menu_main,menu);
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();

    //here initialize your button pressed.

    return super.onOptionsItemSelected(item);
}