我的应用使用 Actionbarsherlock
和 ViewpagerIndicator
。每个页面使用 1 个片段。我希望每个页面都有不同的操作栏菜单,那么我该如何存档呢?
我已经尝试在每个 SherlockFragment
上使用 onCreateOptionsMenu
但操作栏菜单没有显示,我也尝试找到一些方法以编程方式添加菜单但没有办法。
@Override
public void onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu, com.actionbarsherlock.view.MenuInflater inflater)
{
inflater.inflate(R.menu.main, menu);
super.onCreateOptionsMenu(menu, inflater);
}
谢谢!
*编辑:添加更多详细信息*
如果我在 Activity 中使用 onCreateOptionsMenu,菜单(操作项)会正常显示。
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater menuInflater = getSupportMenuInflater();
menuInflater.inflate(R.menu.main, menu);
这就是我设置 ActionBar 和 ViewPager 的方式
final ActionBar actionbar = getSupportActionBar();
actionbar .setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionbar .setDisplayHomeAsUpEnabled(true);
actionbar .setTitle("olala");
mFragmentAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mFragmentAdapter);
mIndicator.setViewPager(mPager);
mIndicator.setOnPageChangeListener(new MyPageChangeListener());
mPager.setCurrentItem(3);
最佳答案
我们需要在 Fragment(onCreate 或 onCreateView)上添加它,以便通过接收对 onCreateOptionsMenu(Menu, MenuInflater) 和相关方法的调用来报告该片段希望参与填充选项菜单。
setHasOptionsMenu(true);
引用:http://developer.android.com/reference/android/app/Fragment.html
关于android-viewpager - ActionbarSherlock 和 ViewpagerIndicator : how to add different actionbar menu to different Page in ViewPagerIndicator using fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10720345/