Android 如何通过menu id来得到menu item 控件--binbinyang

来源:互联网 发布:云计算工程师前景 编辑:程序博客网 时间:2024/06/05 22:54
我们不能将findViewById()用于menu ,因为他是menu,不是view. 我们可以更改menu的状态,只有它已经被创建或是被准备( created or prepared)好后才行。


解决办法:




可以使用Activity: onPrepareOptionsMenu() 等方法来处理 @Overridepublic boolean onPrepareOptionsMenu(Menu menu) {    super.onPrepareOptionsMenu(menu);    menu.findItem(R.id.sort_by_name).setChecked(true);    return true;} 或  @Overridepublicboolean onMenuOpened(int featureId, Menu menu) {//TODO Auto-generated method stubmenu.findItem(R.id.sort_by_name).setChecked(true);returnsuper.onMenuOpened(featureId, menu);}或 只被初始化一次(通常这么认为),则用下面的方法 public boolean onCreateOptionsMenu(Menu menu) {MenuInflater inflater = this.getMenuInflater();inflater.inflate(R.menu.menu, menu);      menu.findItem(R.id.sort_by_name).setChecked(true);}以上三种方法之一调用。绝对不能用findViewById()


0 0
原创粉丝点击