【发布时间】:2017-11-24 14:56:36
【问题描述】:
我正在使用 recyclerview 显示项目列表(图像和文本),我正在从后端获取 recyclerview 列表中显示的项目,我正在使用 retrofit2 进行休息调用,并且我能够从其余部分获取列表并且 recyclerview 渲染得非常好。
在 recyclerview 中显示项目列表时,我想将位图图像添加到项目中存在的图像。在将此位图图像添加到项目中存在的图像之前,我必须进行第二次改造调用(异步)以检查该项目是否需要位图图像,如果响应为真,那么我只需添加位图图像。
现在的问题是,当我在改造中进行异步调用(使用入队方法)时,回收器视图不会等待改造的响应,因为它无法在每个图像中绘制位图项目。
我知道我们可以使用同步调用来解决问题,但我不想在性能上妥协。
下面是sn-ps的代码供参考。
我从 recyclerview 适配器调用改造方法,它将根据返回的值返回布尔值,我想在项目图像上绘制位图
改造方法:
HttpRestServiceConsumer.getBaseApiInterface(false)
.getTestWithURL(imageURL)
.enqueue(new Callback<TestResponse>() {
@Override
public void onResponse(Call<TestResponse> call, Response<TestResponse> response) {
try {
if (response.isSuccessful()) {
data = response.body().getTrackElements();
if (response.body().getTrackElements().size() > 0)
testExist = true;
else
testExist=false;
} catch (Exception e) {
}
}
@Override
public void onFailure(Call<TestResponse> call, Throwable t) {
}
【问题讨论】:
标签: android-recyclerview retrofit