今天偶尔看到了楼主提出的某个问题的答案,ListView中如果不用ViewHolder怎么实现View的复用。这个问题就是要给convertView设置Tag,我们通常是把ViewHolder作为tag设置到convertView中,但是View的setTag方法其实还有一个重载,那就是setTag(int,Object),这里前面的int是一个key,后者则是value,内部采用一个SparseArray来维护,所以设置只需要把内部view控件的id作为key,该View作为value,调用setTag方法就可以了。在拿到convertView的时候,也可以通过getTag(int)来获取到该view,也可以避免多次调用findViewById从而实现复用。
点赞 评论

相关推荐

不愿透露姓名的神秘牛友
07-10 12:05
点赞 评论 收藏
分享
码农索隆:想看offer细节
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务