您的位置:首页 > 移动开发 > Objective-C

View.setTag(key,object)的使用

2015-12-13 13:43 453 查看
这是我的第二篇博客啦~

切入主题!

我之前在二级列表做二级列表的时候本来想在getChildView里面在不同的情况关联不同的layout并且还用viewholder优化,于是想到用setTag来区分是哪个layout的控件,但是并没有成功改用其他方法,但却碰到使用View.setTag(key,object)的一个问题,记录一下。

View.setTag(key,object),这个方法如果写成如下的形式(View只是举个例子):

//设置:
View.setTag(1,object);
View.setTag(2,object);
//获取:
View.getTag(1,object);
View.getTag(2,object);


就会抛出异常:The key must be an application-specific resource id.

这主要是说这个key没有唯一性,不是独一无二这个意思。。。

那么就要改成

第一步:在res/values/ids.xml里自定义添加

<resources>
<item type="id" name="name1"></item>
<item type="id" name="name2"></item>
</resources>


第二步:

//设置:
View.setTag(R.id.name1,object);
View.setTag(R.id.name2,object);
//获取:
View.getTag(R.id.name1,object);
View.getTag(R.id.name2,object);


这样子就不会抛出异常啦~

本文链接:http://blog.csdn.net/lang523493505/article/details/50282513
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  setTag android