我在Android项目中新实现了弹出菜单,但我想以编程方式更改其中一个菜单项的文本,具体取决于软件状态。弹出菜单项有可能吗?我已经可以使用menu.findItem()对我的Action Bar项目执行此操作,但似乎没有为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()中需要的那个,但实际上看起来并不是一种有效的方法。
答案 0 :(得分:0)
最终,我决定做的是:
pm.getMenuInflater().inflate (bConfigSelf
? R.menu.SelfConfigMenu // Need a different menu for myself
: R.menu.ConfigMenu, // than for a neighbor
pm.getMenu());
选择2种不同的菜单似乎并不太古怪,但这并不是一般案例的真正解决方案。但我会假设(根据回复的数量)这不是一个常见问题,而且此时确实没有解决方案。