我有一个带有一些片段的viewpager。 例如,我有2个不同菜单项的片段。
片段A(菜单)
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.main, menu);
manager = (SearchManager) getActivity().getSystemService(getActivity().getApplicationContext().SEARCH_SERVICE);
sv = (SearchView)menu.findItem(R.id.search).getActionView();
sv.setSearchableInfo(manager.getSearchableInfo(getActivity().getComponentName()));
sv.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
pAdapter.filter(newText.toLowerCase());
return true;
}
});
}
片段B(没有菜单,清除)
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
super.onCreateOptionsMenu(menu, inflater);
}
然而,当启动菜单项时不见了。如果我评论menu.clear();菜单项出现但所有片段都有相同的菜单项..
对于我在onCreate中调用的两个片段setHasOptionsMenu(true);
如何使用不同的菜单布局和不同的片段?
提前致谢
答案 0 :(得分:0)
我认为你应该使用
inflater.inflate(R.menu.main, menu);
每个片段都有不同的菜单。