回调ViewPager过渡到下一个窗格? [英] Callback for ViewPager transition to next pane?
问题描述
有没有办法为,当用户从一个窗格中挥笔到我旁边来调用回调?至于我的实验已经揭示,在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屋!