Android高级UI面试题汇总(含详细解析二十八)

173 阅读1分钟

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老皮 目录

img

第一章 Java方面

  • Java基础部分
  • Java集合
  • Java多线程
  • Java虚拟机

img