标签:
我们有时候要做做事的时候,要提前拿到 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
SherlockactionBar中手动调用onCreateOptionsMenu的办法
标签:
原文地址:http://www.cnblogs.com/lixiaodaoaaa/p/4711219.html