SherlockactionBar中手动调用onCreateOptionsMenu的办法

    我们有时候要做做事的时候,要提前拿到 ActionBar中的menuItem,但是,会出现为空的情况。怎么办呢?

比如这里:

 1     @Override
 2     public boolean onCreateOptionsMenu(Menu menu) {
 3         getSupportMenuInflater().inflate(R.menu.menu_common, menu);
 4         mapItem = menu.findItem(R.id.menuItem);
 5         mapItem.setTitle(ResourceReader.readString(GroupTasksActivity.this, R.string.menu_map));
 6         mapItem.setIcon(ResourceReader.readDrawable(this, R.drawable.ic_menu_map));
 7         mapItem.setOnMenuItemClickListener(item -> {
 8             taskGroupPresent.setupMenuMap(item);
 9             return true;
10         });
11         mapItem.setVisible(false);
12         return true;
13     }

但我们创建Activity后,在Oncreate或者OnResume代码中,要用到mapItem,mapItem不一定要生成完毕,

有可能为空。我们要手动调用 onCreateOptionsMenu怎么办呢?

呵呵,可以直接用 openOptionsMenu方法就可以了。没错,就是这个方法:

完整方法在这里:

      setContentView(R.layout.activity_nearby_task);
        openOptionsMenu();
        initAllDatas();
        setListener();

总结:手动 调用 onCreateOptionsMenu,就用 openOptionsMenu




 
原文地址:https://www.cnblogs.com/lixiaodaoaaa/p/4711219.html