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;
}
由于面试题内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要2023年Android中高级最全面试真题答案 完整文档的可扫描下方卡片免费获取~

PS:(文末还有使用ChatGPT机器人小福利哦!!大家不要错过)
目录

第一章 Java方面
- Java基础部分
- Java集合
- Java多线程
- Java虚拟机

本文介绍了Android面试中关于ListView和RecyclerView图片错位的常见问题,原因在于复用机制导致的显示错位。提供了解决方案一:使用tag预设图片,以及方案二:重写getItemId方法。附带了完整的2023年高级面试真题文档链接。
1576

被折叠的 条评论
为什么被折叠?



