我试图了解一个现象。我有一个名为“new”的Integer 字段 我在onPrepareOptionsMenu 中添加了一个条件,并在此基础上更改了一个菜单项标题如下: -
public boolean onPrepareOptionsMenu(Menu menu) {
if(new==1) {
menu.findItem(R.id.folder).setTitle("new folder");
}else
menu.findItem(R.id.doc).setTitle("new document");
return super.onPrepareOptionsMenu(menu);
}
“新”在我的某个Activites方法中调用,在其值更改 onPrepareOptionsMenu 时被调用并发生更改。
我所知道的是它应该在 onCreateOptionsMenu 之前被调用,该活动仅在活动开始时被调用一次(我没有回想起活动)。 那么怎样才能召回PrepareOptionsMenu?
答案 0 :(得分:1)
onCreateOptionsMenu()
仅在活动开始时被调用,每次打开菜单时都会调用onPrepareOptionsMenu(Menu menu)
,以便在显示时更新它。
答案 1 :(得分:0)
如果您想刷新optionsMenu,请致电
invalidateOptionsMenu()
onPrepareOptionsMenu()
将被召回