Android 从MenuItem获取Id并转到下一个活动
我已经用4个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
菜单项创建了一个菜单项
。我需要在按下时检索菜单项
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);
}