所以基本上,我在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;
。
然而,它被它传递并且它发送请求而不管该语句(可能是线程问题),所以我只是想知道 - 除了禁止连续两次发送相同参数之外,还有什么好办法解决这个问题(如果在更新之前完成加载后列表得到更新,将禁止获取更新)。提前谢谢,抱歉没有提供代码。
答案 0 :(得分:3)
在您的viewPager和onPageChangedListener()
方法中发送onPageSelected()
发送volly请求。