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);
}
答案
在android
为ViewPager
有一个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 之前