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

相关推荐

牛至超人:把哈工大,再加大加粗,看见闪闪发光的哈工大字样,面试官直接流口水
投递字节跳动等公司6个岗位
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务