动态生成ViewPager
Fragments
。
问题:
当用户从片段中滑出时,有什么方法可以捕捉到它(因此我可以将其置于“干净”,“初始化”状态)?
或
如何抓住Fragment
滚动的时刻?
问题:
ViewPager
)答案 0 :(得分:2)
要在片段对用户可见时获取回调,您可以覆盖setUserVisibleHint方法,如下所示:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(isVisibleToUser){
//Put your 'init' logic here
}
}
变量isVisibleToUser将给出可见性的状态,因此您可以使用相同的方法来处理片段何时消失。
答案 1 :(得分:1)
void addOnPageChangeListener(ViewPager.OnPageChangeListener listener) 添加一个侦听器,只要页面发生更改或逐步滚动,就会调用该侦听器。请参阅ViewPager.OnPageChangeListener。
添加侦听器的组件在完成后应小心删除它。取得视图所有权的其他组件可以调用clearOnPageChangeListeners()来删除所有连接的侦听器。
您可以实现此侦听器以跟踪ViewPager中片段的移动。
还有一个方法setOffscreenPageLimit()
,它设置应保留在当前页面任一侧的页数,它的默认值为1,最小值可以设置为0。 / p>