我的操作栏右侧有设置按钮。
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()
inonCreateOptionsMenu()
但是如何通过另一种方式解决这个问题?