android - 当用户停止在 android 中的 fragment viewpager 中滑动时加载数据?

标签 android android-viewpager fragment

当用户停止滑动时加载 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/

相关文章:

java - 软键盘在横向模式下不会自动显示

android - 规则条目重复 firebase 不工作

android - 继续滑动已使用 Glide 将位图加载到其中的 Viewpager 时出现 OutOfMemory 错误

java - findviewbyid 错误无法解决

android - Win 7、安卓、iOS SDK

android - 耳机插孔信用卡使用浏览器应用程序刷卡

java - 如何修复 'Horizontal swiping between ViewPager tabs' ?

android - 从 FragmentActivity 中的对话框更新 fragment 中的 ListView(使用 ViewPager)

android - 如何在按下单个 fragment 的手动后退按钮时返回上一个 fragment ?

Android ScrollView 不填满设备屏幕