使用带有操作栏类的谷歌导航抽屉实现了滑动菜单。我的问题是onCreateOptionsMenu正在每个活动中显示。如何使onCreateOptionsMenu图标随意可见和不可见。请问。
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.layout.menu, menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.settings:
Intent i=new Intent(class1.this, clas2.class);
startActivity(i);
return true;
}
return false;
}
答案 0 :(得分:0)
您可以根据需要创建菜单运行时或具有不同的菜单布局,并且在活动集的onCreateOptionsMenu
中,布局或运行时创建这些菜单,或者如果您不想显示菜单图标,那么只需执行{{1 }}
活动A
menu.clear()
活动B
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.layout.menu_a, menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.settings:
Intent i=new Intent(class1.this, clas2.class);
startActivity(i);
return true;
}
return false;
}
答案 1 :(得分:0)
要在操作栏上隐藏或显示某些图标,您需要覆盖方法:
@覆盖 public boolean onPrepareOptionsMenu(菜单菜单) {
MenuItem your_icon = menu.findItem(R.id.action_your_icon);
//show icon
your_icon.setvisible(true);
//hide icon
your_icon.setvisible(false);
...
}
此外,当操作栏项目发生变化时,您需要'supportInvalidateOptionsMenu()'来使活动的选项菜单无效