我试图理解一个现象.I有一个名为"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方法中被调用,而当它的值发生变化时,会被调用,并且会发生更改。
我所知道的是,应该在onCreateOptionsMenu之前调用它,它在活动开始时只调用过一次(我不记得活动了)。,onPrepareOptionsMenu怎么会被召回??
发布于 2017-12-02 12:34:37
活动启动时只调用一次onCreateOptionsMenu(),每次打开菜单以在显示时更新菜单时都调用onPrepareOptionsMenu(Menu menu)。
发布于 2017-12-02 12:35:34
如果您想刷新optionsMenu,只需打电话
invalidateOptionsMenu()届时onPrepareOptionsMenu()将被召回
https://stackoverflow.com/questions/47607877
复制相似问题