View.setTag()和View.getTag()使用指南

本文介绍了Android开发中View的setTag()和getTag()方法的使用,强调了它们常用于保存视图相关数据。通过示例说明,tag可以保存任何类型的数据,但过度使用可能导致数据安全问题。在数据适配器中,建议仅用tag保存位置参数以保证数据对应。在其他场景中,确保setTag()和getTag()操作的一致性至关重要。
摘要由CSDN通过智能技术生成

关于View.setTag()和View.getTag()结合使用的例子很多,Google, stackoverflow上面一堆,就不再赘述了,随便一搜就有。

经典的使用例子:

三部分:视图初始化、保存内容、取得内容

private ImageView mThumbIv;
mThumbIv = (ImageView) itemView.findViewById(R.id.image);
//使用tag存放View对应在适配器数据集中的位置参数
if (null == mThumbIv) return;
mThumbIv.setTag(position);
//从tag中取出位置参数
int position = (int) v.getTag();
重点来了: View的tag最经典的例子是用来保存在适配器数据集中的位置参数,也是使用最多的场景,那么跟数据适配器配合使用时最好只用来保存位置参数。

为什么这么说呢?

1. 先看tag的作用:

public Object getTag() 
public void setTag(final Object tag)

我们看到,tag 保存的是Object 对象(意味是可以保存同View有关的任何数据,只要你想), 那么你不仅仅可以保存int position, 你还可以保

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值