无法使用抽屉的动作栏项目Android
问题描述:
我的动作栏项目正常工作,直到我添加了菜单抽屉,现在当第一次显示活动时,菜单上的切换按钮不起作用,并且一旦抽屉打开它开始工作绝对好。虽然我没有在我的onDrawerOpened方法中调用它。无法使用抽屉的动作栏项目Android
// ----------For Options Menu-------------------
@Override
public boolean onCreateOptionsMenu(Menu menu) {
try {
super.onCreateOptionsMenu(menu);
menu.clear();
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_screen_menu, menu);
menuitem1 = menu.findItem(R.id.menu_item1);
menuitem2 = menu.findItem(R.id.menu_item2);
final Switch getView = (Switch) menuitem2.getActionView();
getView.setChecked(false);
getView.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton arg0,
boolean isSelected) {
if (isSelected) {
method1();
} else {
method2();
}
}
});
} catch (Exception e) {
e.printStackTrace();
Log.e("OnCreateOptionsMenu", "exception", e);
}
mOptionsMenu = menu;
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
// toggle nav drawer on selecting action bar app icon/title
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
// Handle action bar actions click
switch (item.getItemId()) {
case R.id.menu_item1: {
return true;
}
case R.id.menu_item2: {
return true;
}
default:
return super.onOptionsItemSelected(item);
}
}
一旦我打开和关闭抽屉比开关工作完美! 任何人都可以请帮忙吗? 在此先感谢。
答
你应该叫super.onCreateOptionsMenu(menu)
后已经充气菜单(如图所示的文档:http://developer.android.com/guide/topics/ui/actionbar.html)
我想你的代码更改为:
// ----------For Options Menu-------------------
@Override
public boolean onCreateOptionsMenu(Menu menu) {
try {
menu.clear();
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_screen_menu, menu);
(...)
return super.onCreateOptionsMenu(menu);
}
(不能完全确定,它可能解决你的问题,但它是值得的尝试)
+0
谢谢,但这并没有解决我的问题,但会牢记在心。 –
你真的需要onOptionsItemSelected在drawertoggle? – Ramesh
好吧,当抽屉打开或任何碎片时,我没有任何物品需要显示,这些物品只出现在主要活动 –