菜单创建后调用OnPrepareOptionsMenu

时间:2017-12-02 12:25:42

标签: android menu

我试图了解一个现象。我有一个名为“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?

2 个答案:

答案 0 :(得分:1)

onCreateOptionsMenu()仅在活动开始时被调用,每次打开菜单时都会调用onPrepareOptionsMenu(Menu menu),以便在显示时更新它。

答案 1 :(得分:0)

如果您想刷新optionsMenu,请致电

invalidateOptionsMenu()

onPrepareOptionsMenu()将被召回