如何从Android中的fragment访问活动菜单项?
我有一个类,如何从Android中的fragment访问活动菜单项?,android,menuitem,Android,Menuitem,我有一个类,扩展了ActionBarActivity,并使用了查看页面。我希望我的菜单在所有片段(3个选项卡)中都可用,并且不仅可以看到菜单(发生),而且可以实际响应每个菜单项的逻辑 在活动中: @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Ov
扩展了ActionBarActivity
,并使用了查看页面
。我希望我的菜单在所有片段(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;
}
在片段中,当我从菜单中选择一个选项时,什么都没有发生,我不明白为什么。我做错了什么事,别看出来。任何想法都很好。多谢各位 在片段中,必须指定有一个带有setOptionsMenu(true)的菜单
ActionBar属于活动,而不是片段。为什么你不能在活动中处理它?另外,
ActionBarActivity
现在不推荐使用,如果可以的话,我会切换到AppCompatActivity
。谢谢。我推迟了这项工作,但我改做了另一项活动。菜单项尚未反应。菜单项不会反应,因为它们是由活动处理的,而不是由片段处理的。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}