当用户停止滑动时加载 fragment ,而不是在 android 的 fragmentviewpager 中加载上一个、当前、下一个模式? 在 fragmentviewpager 中一次加载单个 fragment 而不是多个 fragment 。
最佳答案
在 fragment 加载时,FragmentViewPager 将当前 fragment 的 setUserVisibleHint 设置为 true。通过它,我们可以在 FragmentViewPager 中延迟加载 fragment 。在下面的代码中,我设置了 1000 毫秒的延迟。
@覆盖 public boolean getUserVisibleHint() {
boolean isVisible = super.getUserVisibleHint();
return isVisible;
}
public Runnable handleDelays = new Runnable() {
@Override
public void run() {
if (getUserVisibleHint()) {
// Application Logic
}
}
};
private Handler pagerHandler;
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (this.isVisible()) {
if (!isVisibleToUser) {
pagerHandler.removeCallbacks(handleDelays);
} else {
pagerHandler.removeCallbacks(handleDelays);
pagerHandler.postDelayed(handleDelays, 1000);
}
} else {
if (pagerHandler != null) {
if (!isVisibleToUser) {
pagerHandler.removeCallbacks(handleDelays);
} else {
pagerHandler.removeCallbacks(handleDelays);
pagerHandler.postDelayed(handleDelays, 1000);
}
} else {
pagerHandler = new Handler();
}
}
}
关于android - 当用户停止在 android 中的 fragment viewpager 中滑动时加载数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17652144/