1

我在我的 Android 项目中新实现了弹出菜单,但我想以编程方式更改其中一个菜单项的文本,具体取决于软件状态。这可能与弹出菜单项吗?我已经可以使用 menu.findItem() 对我的操作栏项目执行此操作,但似乎没有为 popupmenu 提供该功能。

这是我显示菜单的代码:

private void showPopupMenu (final View v)
{
    PopupMenu pm = new PopupMenu (net, v);
    pm.getMenuInflater().inflate (R.menu.popupmenu, pm.getMenu());

    pm.setOnMenuItemClickListener (new PopupMenu.OnMenuItemClickListener()
    {
            ...

我想我可以创建一大组 popupmenu XML 并在 inflate() 中解析我需要的那个,但实际上这似乎不是一种有效的方法。

4

1 回答 1

0

最终,我决定做的是:

    pm.getMenuInflater().inflate (bConfigSelf
        ?   R.menu.SelfConfigMenu   //  Need a different menu for myself
        :   R.menu.ConfigMenu,      //   than for a neighbor
                pm.getMenu());

选择 2 种不同的菜单似乎并不太奇怪,但这并不是一般情况下的真正解决方案。但我会假设(根据回复的数量)这不是一个常见问题,而且目前确实没有解决方案。

于 2014-11-07T15:23:36.717 回答