今天偶尔看到了楼主提出的某个问题的答案,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从而实现复用。
点赞 评论

相关推荐

不愿透露姓名的神秘牛友
11-12 15:58
点赞 评论 收藏
分享
牛客网
牛客企业服务