我的操作栏右侧有设置按钮。
来自main.xml
的 rsc/menu
:
<item
android:id="@+id/action_settings"
android:icon="@drawable/settings"
android:orderInCategory="1"
android:showAsAction="ifRoom"
android:title="Settings" />
<item
android:id="@+id/action_help"
android:orderInCategory="2"
android:showAsAction="withText"
android:title="Help" />
我想在操作栏中按此按钮后打开包含其他项目的菜单。
所以我已在getActivity().openOptionsMenu()
函数中添加了onOptionsItemSelected()
我的片段:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
inflater.inflate(R.menu.main, menu);
super.onCreateOptionsMenu(menu, inflater);
}
public boolean onOptionsItemSelected( MenuItem item) {
switch (item.getItemId()) {
case R.id.action_help:{
//make help activity
}
return true;
case R.id.action_settings:{
getActivity().openOptionsMenu();
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}
据我了解,我们无法在openOptionsMenu()
中使用onCreateOptionsMenu()
但是如何通过另一种方式解决这个问题?