jea*_*rme 37 android parse-platform recycler-adapter android-recyclerview android-glide
我有这个问题 - 只是为了测试目的,我添加ParseFile到ParseObject收到列表中的一个.它不是仅显示在该行中,而是显示每4-5行,有时更多,有时更少.我认为回收视图与此有关.奇怪的是,其他数据(从这个例子中删除)适用于position变量.
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
if(parseList.get(position).get("logo") != null){
ParseFile image = (ParseFile) parseList.get(position).get("logo");
String url = image.getUrl();
Glide.with(context)
.load(url)
.placeholder(R.drawable.piwo_48)
.transform(new CircleTransform(context))
.into(holder.imageView);
}
}
Run Code Online (Sandbox Code Playgroud)
Sam*_*udd 76
这里的答案是不正确的,尽管它们在正确的轨道上.
您需要调用Glide#clear(),而不仅仅是将drawable图像设置为null.如果您不打电话clear(),乱序完成的异步加载可能仍会导致视图回收问题.您的代码应如下所示:
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
if (parseList.get(position).get("logo") != null) {
ParseFile image = (ParseFile) parseList.get(position).get("logo");
String url = image.getUrl();
Glide.with(context)
.load(url)
.placeholder(R.drawable.piwo_48)
.transform(new CircleTransform(context))
.into(holder.imageView);
} else {
// make sure Glide doesn't load anything into this view until told otherwise
Glide.clear(holder.imageView);
// remove the placeholder (optional); read comments below
holder.imageView.setImageDrawable(null);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39330 次 |
| 最近记录: |