android-viewpager之ActionbarSherlock 和 ViewpagerIndicator : how to add different actionbar menu to different Page in ViewPagerIndicator using fragment

zhoujg 阅读:47 2024-10-01 17:34:08 评论:0

我的应用使用 ActionbarsherlockViewpagerIndicator。每个页面使用 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
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号