确定ViewPager更改页面的时间

我在ViewPager中有三个页面(碎片),但是我只想显示其中两个页面的菜单项。

在以前的答案给出的代码似乎并不工作:

@Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser == true) { } else if (isVisibleToUser == false) { } } 

Eclipse说@Override是不需要的,超级不能设置。 它从来没有被系统所调用,即使是我将如何确定此刻显示哪个页面? 我可以在这里得到一些帮助吗?

  • 一个包含多个片段的页面的ViewPager“java.lang.IllegalArgumentException:没有findid为”
  • Viewpager和FragmentPagerAdapter:页面视图删除
  • 页面curl与查看传呼机
  • Android:PagerAdapter的setPrimaryItem()不止一次被调用
  • PagerAdapter.notifyDataSetChanged不刷新片段
  • Viewpager没有显示在RecyclerView行内
  • 当使用PagerAdapter的getPageWidth时,Android ViewPager滚动问题只有一个项目
  • ViewPager用于通知特定事件的片段的活动
  • 使用ViewPager.onPageChangeListener

     viewPager.addOnPageChangeListener(new OnPageChangeListener() { public void onPageScrollStateChanged(int state) {} public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {} public void onPageSelected(int position) { // Check if this is the page you want. } }); 

    ViewPager.setOnPageChangeListener现在已被弃用。 您现在需要使用ViewPager.addOnPageChangeListener

    例如,

     viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } }); 

    您也可以使用ViewPager.SimpleOnPageChangeListener而不是ViewPager.OnPageChangeListener并仅覆盖您要使用的方法。

     viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { // optional @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } // optional @Override public void onPageSelected(int position) { } // optional @Override public void onPageScrollStateChanged(int state) { } }); 

    希望这个帮助:)

    编辑:根据Android API, setOnPageChangeListener (ViewPager.OnPageChangeListener listener)已被弃用。 请检查以下url: – Android ViewPager API