回调ViewPager过渡到下一个窗格? [英] Callback for ViewPager transition to next pane?

查看:203
本文介绍了回调ViewPager过渡到下一个窗格?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法为,当用户从一个窗格中挥笔到我旁边来调用回调?至于我的实验已经揭示,在present(主)窗格/片段以及相邻的两个(左侧和右侧)都'续',所以没有定期片段生命周期回调的被调用。我为了尽快窗格中它与一直留联系隐藏的MediaController感兴趣。

Is there any way for me to invoke a callback when the user swipes from one pane to the next? As far as my experimentation has revealed, the present (primary) pane/fragment as well as the adjacent two (to the left and right) are all 'resumed', so none of the regular fragment lifecycle callbacks are invoked. I'm interested in this in order to hide a MediaController as soon as the pane it's associated with has been left.

推荐答案

您可以将一个 OnPageChangeListener 您ViewPager获得当用户扫描到一个新的页面上更新

You can attach an OnPageChangeListener to your ViewPager to get updates on when the user swipes to a new page:

viewPager.setOnPageChangeListener(new OnPageChangeListener() {

    @Override
    public void onPageScrollStateChanged(int state) 
    {

    }

    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) 
    {

    }

    @Override
    public void onPageSelected(int position) 
    {                       
        Log.d("MainActivity", "New position = " + position);    
    }
});

如果你使用 FragmentPagerAdapter ,您ViewPager的页面将被缓存在内存中。如果使用 FragmentStatePagerAdapter ,他们将不会被缓存。

And if you use a FragmentPagerAdapter, your ViewPager's pages will be cached in memory. If you use a FragmentStatePagerAdapter, they will not be cached.

这篇关于回调ViewPager过渡到下一个窗格?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆