隐藏ToolBar、ActionBar中的MenuItem
最近在做手机文件管理器,遇到两个问题,一个是MenuItem的隐藏,一个是USB接口是否挂载设备的判断,当然都不是很难,这里分两篇博客一一为大家解答,先贴需求图:
这两个页面因为同属一个Activity,所以需要处理好MenuItem的显示问题,在进入存储目录前,是没有MenuItem的,那么该从何处入手,我们先贴一段代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
MenuItem item_Edit = menu.findItem(R.id.action_edit);
MenuItem item_Type = menu.findItem(R.id.action_type);
if (eListView.getVisibility() == View.VISIBLE){
item_Edit.setVisible(false);
item_Type.setVisible(false);
}else {
item_Edit.setVisible(true);
item_Type.setVisible(true);
}
return true;
}
相信大家都很熟悉,这是Menu视图的创建方法,我们在里面根据条件决定是否需要显示MenuItem,如果能够有一个重调
onCreateOptionsMenu方法的方法,那不就搞定了么,还真有这样的方法:
invalidateOptionsMenu();
supportInvalidateOptionsMenu();
这两个方法都可以满足你,他们的差别相信聪明的人一猜就知道,一个是SDK自带的,一个兼容包特有的方法。