gpt4 book ai didi

android - 从弹出菜单中隐藏项目

转载 作者:IT老高 更新时间:2023-10-28 22:12:21 26 4
gpt4 key购买 nike

我创建了一个弹出菜单。我需要在某些情况下从弹出菜单中隐藏特定项目,我在下面的代码中尝试了这个,但它不起作用并显示“意外地你的应用程序已停止”。我使用了 findViewByIdsetEnabled(false)

还有其他方法可以隐藏弹出菜单中的项目吗?请帮忙。

    @Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case R.id.addMessage_Action:
AddMessage();
break;
case R.id.dropMenuAction:
menuItemView = findViewById(R.id.dropMenuAction);
PopupMenu popup = new PopupMenu(this, menuItemView);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.popupmenu_for_message_delete, popup.getMenu());
popup.show();
popup.setOnMenuItemClickListener(this);
if(Global.lock == true)
findViewById(R.id.lock_message).setEnabled(false);
else
findViewById(R.id.unlock_message).setEnabled(false);

break;
}
return false;

}

最佳答案

在获取项目之前,您需要从 PopupMenu 中获取 Menu 对象。所以会是这样的

Menu popupMenu = popup.getMenu();
if(Global.lock == true)
popupMenu.findItem(R.id.lock_message).setEnabled(false);
else
popupMenu.findItem(R.id.unlock_message).setEnabled(false);

在你调用 popup.show()

之前我会这样做

关于android - 从弹出菜单中隐藏项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18392916/

26 4 0