我想知道在 Volley 中取消正在执行的 NetworkImageView 请求的正确方法。
我有一个用一些文本填充列表视图的片段(也使用 Volley 通过 JSON RPC 调用检索),并且每个列表项都有一个 NetworkImageView。
在我的片段的 onPause() 中,我有:
@Override
public void onPause() {
super.onPause();
VolleyRequestManager.getRequestQueue().cancelAll(this);
}
我将标签设置为相应的文本的每个 JSON 请求:
mRequest = new JsonRpcRequest<Data>(Method.POST,
jsonRpcRequestBody,
Dataclass.class,
createSuccessListener(),
createErrorListener());
mRequest.setTag(this);
VolleyRequestManager.getRequestQueue().add(mRequest);
问题是; 在我的布局 XML 资源文件中定义了我的 NetworkImageView,它们不共享与 JSON 请求相同的标签,因此我相信它们不会在我的 onPause() 代码触发 cancelAll(this) 时被取消。有没有办法以某种方式取消相应的 NetworkImageViews?或者我是否需要破解 Volley 的代码来添加一个方法来取消所有请求而忽略标签比较?