【发布时间】:2016-07-07 16:44:14
【问题描述】:
我正在使用 Glide 库从 URL 加载图像,该 URL 是从 Graph Request (Facebook) 获得的。它用于 RecyclerAdapter。当我滚动时,每个 ImageView 显示错误的图片大约不到一秒钟,然后更正一张。代码如下:
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
ImageView main_image = viewHolder.main_image,
getEventCover(position, main_image);
}
private void getEventCover(int position, final ImageView img){
GraphRequest request = GraphRequest.newGraphPathRequest(
AccessToken.getCurrentAccessToken(),
event.get(position).getEventID(),
new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse response) {
JSONObject data = response.getJSONObject();
try {
JSONObject cover = data.getJSONObject("cover");
String source = cover.getString("source");
Glide.with(fragment)
.load(source)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.centerCrop()
.into(img);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
);
Bundle parameters = new Bundle();
parameters.putString("fields", "cover");
request.setParameters(parameters);
request.executeAsync();
}
【问题讨论】:
-
Glide 异步加载图片。如果您的布局中有默认图像,它将首先显示,然后加载正确的图像。如果是您的情况,请尝试删除布局中的默认图像或将其替换为另一个
-
感谢您的回复,但我没有在布局中设置默认图像
标签: android android-recyclerview android-glide