android – 从popupmenu隐藏项目

前端之家收集整理的这篇文章主要介绍了android – 从popupmenu隐藏项目前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个弹出菜单.我需要从弹出菜单中隐藏特定的项目,我尝试下面的代码,但它不起作用,并显示“意外您的应用程序已被停止”.我使用findViewById和setEnabled(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 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()之前做到这一点

原文链接:https://www.f2er.com/android/311837.html

猜你在找的Android相关文章