Android并发编程高级面试题汇总最全最细面试题讲解持续更新中👊👊 👀你想要的面试题这里都有👀 👇👇👇
一个ListView或者一个RecyclerView在显示新闻数据的时候,出现图片错位,可能的原因有哪些 & 如何解决?
这道题想考察什么?
考察同学对ListView和RecyclerView的错位问题是否知道。
考生应该如何回答
图片错位
什么是显示错位? 例如本来应该显示在item1的图片,由于上下滑动,导致显示在item10上面,这就是显示错位。 ListView和RecyclerView错位的原因是一致的,都是因为ListView和RecyclerView有复用的功能,才导致的错位显示。
如何解决
方案一:ListView和RecyclerView都是一致,直接设置一个tag,并预设一张图片。
// 给 ImageView 设置一个 tag
holder.img.setTag(imgUrl);
// 预设一个图片
holder.img.setImageResource(R.drawable.ic_launcher);
// 通过 tag 来防止图片错位
if (imageView.getTag() != null && imageView.getTag().equals(imageUrl)) {
imageView.setImageBitmap(result);
}
方案二:RecyclerView的解决方案 重写下面方法,类似方案一的tag一样。
@Override
public long getItemId(int position) {
return position;
}
详细Vx关注公众号:Android老皮 目录
第一章 Java方面
- Java基础部分
- Java集合
- Java多线程
- Java虚拟机