相关疑难解决方法(0)

Android:根据ViewPager显示操作栏菜单项

我无法获得以下代码来解决问题.我有viewpager3个片段,我想要一个只显示在一个上的搜索图标.我开始试图通过片段添加搜索功能,但是当滑动到该页面时,菜单项的渲染速度很慢.我现在要将搜索图标添加到活动中,然后根据viewpager活动的页面隐藏或显示,但以下操作不起作用:

public class MyApp extends FragmentActivity implements 
   FragmentTeams.FragmentNotification,ViewPager.OnPageChangeListener, 
      OnNavigationListener{

  ...

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);

    menuSearch = menu.findItem(R.id.menu_search);
    mSearchView = new SearchView(this);
    menuSearch.setActionView(mSearchView);
    menuSearch.setVisible(false);
    return true;
}

 @Override
public void onPageSelected(int pageNum) {

if(pageNum== 1){     
    ActionBar actionBar = MyApp.this.getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);     
        menuSearch.setVisible(true);
        invalidateOptionsMenu();

}else{           
    ActionBar actionBar = MyApp.this.getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);  
        menuSearch.setVisible(false);
        invalidateOptionsMenu();
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然上面的(似乎)创建并隐藏了图标onCreateOptionsMenu,但在移动时不会重新启用

 pageNum ==1  
Run Code Online (Sandbox Code Playgroud)

任何人都可以给我一些见解,为什么会发生这种情况?

android android-viewpager android-actionbar

12
推荐指数
1
解决办法
1万
查看次数