ViewPager OnPageSelected()或OnPageShow()中的片段?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ViewPager OnPageSelected()或OnPageShow()中的片段?相关的知识,希望对你有一定的参考价值。

ViewPager中的片段是否有像OnPageSelected()OnPageShow()这样的等效方法?当特定页面显示时,我应该做些什么?


我在onPageScrolled()中设置了每个片段的隐藏状态在页面适配器中,我想知道为什么不调用onHiddenChanged(

//在PageAdapter中(扩展FragmentPagerAdapter)

    public void onHiddenChanged(int arg0)
    {
        for (int i = 0; i < getCount(); i++) {
            if (i == arg0) {
                mAdapter.getItem(arg0).onHiddenChanged(true);
            } else {
                mAdapter.getItem(arg0).onHiddenChanged(false);
            }
        }
    }

//在PageActivity中(扩展FragmentActivity)

public void onPageSelected(int arg0)
{
    mAdapter.onHiddenChanged(arg0);
}
答案

androidViewPager有一个listener称为ViewPager.OnPageChangeListener,有类似的方法

onPageScrollStateChanged(int state),

onPageScrolled(int position, float positionOffset, int positionOffsetPixels) , 

onPageSelected(int position)

如果你想为页面做一些特定的任务,你需要编写ViewPager.OnPageChangeListener并覆盖onPageSelected(int position)方法。

了解更多详情see here

另一答案

你可以使用OnPageChangeListener。您在页面更改时收到回调,例如:

mViewPager.setOnPageChangeListener(new OnPageChangeListener() {

    @Override
    public void onPageSelected(int position) {
        // this will be called when the page is changed
    }

    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) {
    }

    @Override
    public void onPageScrollStateChanged(int arg0) {
    }
});

以上是关于ViewPager OnPageSelected()或OnPageShow()中的片段?的主要内容,如果未能解决你的问题,请参考以下文章

在ViewPager上,在onPageSelected上的片段上启动动画

改变方向调用 onpageselected 在 oncreateview 之前

FragmentStatePagerAdapter onPageSelected事件

android ViewPager滑动事件讲解

不正确地工作viewPager

清除 ExpandableListView