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);
}
答案 0 :(得分:2)
Android
ViewPager
listener
有ViewPager.OnPageChangeListener
名为onPageScrollStateChanged(int state),
onPageScrolled(int position, float positionOffset, int positionOffsetPixels) ,
onPageSelected(int position)
,其中包含
ViewPager.OnPageChangeListener
如果您想为页面执行某项特定任务,则需要编写onPageSelected(int position)
并覆盖{{1}}方法。
了解更多详情see here
答案 1 :(得分:1)
您可以使用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) {
}
});