ViewPager + Volley 延迟加载 = 混乱

ViewPager + Volley lazy load = mess

所以基本上,我在一个片段中有一个 RecyclerView,设置在 onCreateView() 中,我还在 onCreateView() 中放置了 volley 请求,它更新了 Recycler adapter从服务器延迟加载的新数据。一切都很好,直到我开始在页面之间滑动得太快 - 因为 onCreateView() 正在调用滑动时围绕当前片段的片段 - 截击将具有相同参数的多个数据发送到服务器 - 我的 RecyclerView 变得相同数据几次(取决于我滑动的速度)。

我放了类似的东西:

 static boolean requestAllowed = true;

 @OverRide public View onCreateView() {

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

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

但是,它会通过它并发送请求而不管该语句(可能是线程问题),所以我只是想知道 - 除了禁止在一行(如果列表在更新前完成加载后更新,将禁止获取更新)。预先感谢您,很抱歉没有提供代码。

在您的 viewPager 上实施 onPageChangedListener() 并在 onPageSelected() 方法中发送 volly 请求。