3

向ViewPagerIndicator中的不同頁面添加不同的操作欄菜單我的應用使用ActionbarsherlockViewpagerIndicator。每個頁面使用1個片段。我希望每個頁面都有不同的操作欄菜單,那麼如何將其存檔?ActionbarSherlock和ViewpagerIndicator:如何使用片段

我試過在每個SherlockFragment上使用onCreateOptionsMenu,但是actionbar菜單沒有顯示,我也試着找到一些方法來以編程方式添加菜單,但沒辦法。

@Override 
public void onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu, com.actionbarsherlock.view.MenuInflater inflater) 
{  
    inflater.inflate(R.menu.main, menu);  
    super.onCreateOptionsMenu(menu, inflater); 
} 

謝謝你!

* 編輯:添加更多詳情*

如果我在活動中使用onCreateOptionsMenu,菜單(行動項目)顯示正常。

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    MenuInflater menuInflater = getSupportMenuInflater(); 
    menuInflater.inflate(R.menu.main, menu); 

這是我如何設置動作條中的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); 

回答

1

我有沒有調用super相同。

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.chat_thread_list_fragment_menu, menu); 
} 

更新:

我在活動中的onCreate設置這個...

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.profile_activity); 
    final ViewPager viewPager = (ViewPager) findViewById(R.id.profile_activity_pager); 

    final Intent intent = getIntent(); 

    // I guess some setup should be done... 
    final ActionBar bar = getSupportActionBar(); 
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); 
    bar.setDisplayHomeAsUpEnabled(true); 
    if (intent.hasExtra(EXTRA_USER_NAME)) { 
     bar.setTitle(intent.getStringExtra(EXTRA_USER_NAME)); 
    } else { 
     bar.setTitle(R.string.title_profile); 
    } 

    final PagerAdapter tabsAdapter = new TabsAdapter(this); 
    viewPager.setAdapter(tabsAdapter); 

    final TitlePageIndicator titleIndicator = (TitlePageIndicator) findViewById(R.id.profile_activity_tabs); 
    titleIndicator.setViewPager(viewPager); 

    if (intent.hasExtra(EXTRA_TAB_ID)) { 
     final int tabId = intent.getIntExtra(EXTRA_TAB_ID, -1); 
     if (tabId > -1 && tabId < tabsAdapter.getCount()) { 
      viewPager.setCurrentItem(tabId); 
     } 
    } 
} 
+0

怎麼又是你動作條設置 – Wayne

+0

我缺少的東西 – WarrenFaith

+0

我只是用動作條樣式Actvity上顯示這個並沒有我的情況下工作,同時:( – Wayne

相關問題