2011-03-14 68 views
1

改变启用/禁用菜单项我有一个Activity三个MenuItems如何基于类变量

  • 一个选项菜单创建
  • 选择
  • 删除

当有目前没有选择任何项目我禁用MenuItem进行删除。

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    final MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.layout.basic_menu, menu); 
    this.deleteCharMenu = menu.findItem(R.id.basic_menu_deletechar); 
    this.deleteCharMenu.setEnabled(this.current != null); 
    return true; 
} 

但是onCreateOptionsMenu在每次打开菜单时都不会调用(尝试错误让我得到这个结果)。

因此,我将MenuItem存储在类变量中,以便每当this.current更改其值时都能够更改其状态。

是否有更优雅的方法来确保启用和禁用正确的MenuItems?我希望能够使用某种倾听者?

回答

0

重载onPrepareMenu,它在被显示之前被调用。

+0

非常感谢。教会我在将来更密切地关注活动中的所有方法。 – Yashima 2011-03-14 09:57:22