sai*_*gai 2 android networkimageview
我想知道在Volley中取消执行中的NetworkImageView请求的正确方法.
我有一个片段,用一些文本填充listview(通过使用Volley的JSON RPC调用检索),每个列表项都有一个NetworkImageView.
在我的片段的onPause()我有:
@Override
public void onPause() {
super.onPause();
VolleyRequestManager.getRequestQueue().cancelAll(this);
}
Run Code Online (Sandbox Code Playgroud)
我对文本的每个JSON请求都相应地设置了标记:
mRequest = new JsonRpcRequest<Data>(Method.POST,
jsonRpcRequestBody,
Dataclass.class,
createSuccessListener(),
createErrorListener());
mRequest.setTag(this);
VolleyRequestManager.getRequestQueue().add(mRequest);
Run Code Online (Sandbox Code Playgroud)
问题是; 使用我的布局XML资源文件中定义的NetworkImageView,它们不会与JSON请求共享相同的标记,因此我相信它们不会在我的onPause()代码中取消,而是触发cancelAll(this).有没有办法以某种方式取消相应的NetworkImageViews?或者我是否需要破解Volley的代码来添加取消所有请求的方法而忽略标记比较?
从视图层次结构分离时,NetworkImageView会自动取消.
根据Ficus Kirkpatrick(Google Play应用工程师)的Google IO演示文稿,NetworkImageView当从视图层次结构中分离时,自动取消正在进行的请求.
@ 16:35在视频中播放
如果你需要更多的控制,我不知道如何设置Tag一个排球,ImageLoader但我正在研究这个(为什么我遇到这个问题).如果我找到了什么,会更新我的答案.但是,内置自动取消似乎是取消大多数图像请求的最合适的地方.
| 归档时间: |
|
| 查看次数: |
2089 次 |
| 最近记录: |