在Android中的选项菜单中单击某个MenuItem时,我需要在同一菜单中更改不同MenuItem的标题.这样做的方法是什么?
单击选项菜单中的MenuItem时,将调用onOptionsItemSelected(MenuItem menuitem).您可以更改在onOptionsItemSelected(MenuItem menuitem)中作为参数传递的MenuItem的标题,但不能更改任何其他MenuItem的标题.我需要知道如何更改未作为参数传递给onOptionsItemSelected()的MenuItem的标题,但它属于同一个Menu.
我没有找到一种方法来处理在onOptionsItemSelected方法中包含Menu的问题(在单击任何MenuItem时调用它).
非常感谢.
来自Android开发指南:http://developer.android.com/guide/topics/ui/menus.html
打开时更改菜单
onCreateOptionsMenu()仅在第一次打开选项菜单时调用该方法.系统会保留并重新使用您在此方法中定义的菜单,直到您的活动被销毁.如果要在每次打开时更改"选项"菜单,则必须覆盖该onPrepareOptionsMenu()方法.这将传递Menu当前存在的对象.如果您要根据应用程序的当前状态删除,添加,禁用或启用菜单项,这将非常有用.注意:您永远不应根据当前焦点视图更改"选项菜单"中的项目.在触摸模式下(当用户未使用轨迹球或d-pad时),视图无法获得焦点,因此您永远不应将焦点用作修改"选项"菜单中项目的基础.如果要提供对视图具有上下文相关性的菜单项,请使用上下文菜单.
你可以这样做.
public boolean onPrepareOptionsMenu(Menu menu) {
menu.clear();
getMenuInflater().inflate(R.menu.photoviewer_menu, menu);
MenuItem item = menu.findItem(R.id.photoviewer_menu_button);
item.setTitle("title");
return super.onPrepareOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10108 次 |
| 最近记录: |