ViewPager + Volley懒惰负载=混乱

时间:2015-12-03 04:55:22

标签: android android-viewpager lazy-loading android-volley

所以基本上,我在RecyclerView内的片段中有一个onCreateView(),同时我还在onCreateView()内放了一个更新Recycler adapter的{​​{1}}从服务器加载延迟的新数据。一切都很顺利,直到我开始在页面之间滑动太快 - 并且因为onCreateView()被调用以便在滑动时围绕当前片段的片段 - 齐射将具有相同参数的多个数据发送到服务器 - 并且我的RecyclerView变得相同数据几次(取决于我滑动的速度)。

我做了类似的事情:

 static boolean requestAllowed = true;

 @OverRide public View onCreateView() {

 inflater etc..
 if(requestAllowed) {
 requestAllowed = false;
 sendingVolleyRequest();
 }

然后在sendingVolleyRequest()内,我已加入onResponse()onErrorResponse() requestAllowed = true;

然而,它被它传递并且它发送请求而不管该语句(可能是线程问题),所以我只是想知道 - 除了禁止连续两次发送相同参数之外,还有什么好办法解决这个问题(如果在更新之前完成加载后列表得到更新,将禁止获取更新)。提前谢谢,抱歉没有提供代码。

1 个答案:

答案 0 :(得分:3)

在您的viewPager和onPageChangedListener()方法中发送onPageSelected()发送volly请求。