我有一个extends ActionBarActivity
的课程,并且也使用了ViewPager
。我希望我的菜单可以在所有片段(3个标签)中使用,不仅可以看到菜单(发生的事情),还可以实际响应每个菜单项的逻辑。
活动:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
...
return super.onOptionsItemSelected(item);
}
在每个片段中:
setHasOptionsMenu(false);
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_main, menu);
super.onCreateOptionsMenu(menu,inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
...
return false;
}
在片段中,当我从菜单中选择一个选项时,没有任何事情发生,我不明白为什么。我做错了什么,只是没有发现它。任何想法都会很棒。谢谢。
答案 0 :(得分:1)
在您的片段中,您必须指定存在setOptionsMenu(true)
的菜单@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}