最近在开发过程中,遇到了一个再显示不同的Fragment时给予其不同的menu显示,由于这几个Fragment属于同一个Activity而menu是对Activity设置的对于Fragment并没有设置menu的方法,再查了很多资料之后终于解决了这个问题。
开发的背景:
MainActivity使用一个viewPager,给这个viewPager设置一个FragmentPagerAdapter而给其设置了多个Fragment。现在的需求是在ViewPager切换不同的Fragment时显示不同的Menu,而设置Menu的方法onCreateOptionsMenu与onPrepareOptionsMenu以及onOptionsItemSelected仅在MainActivity中存在。
在解释解决方法之前,向简单回顾Android中的Menu简单用法:
1) menu的创建:
通过资源文件res/menu目录设置<item>
来完成设置,在方法onCreateOptionsMenu(Menu menu)中加载此布局:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.