View Tag相关
View的tag方法可以让View附带很多信息,方便使用。最常用的一个例子:在Adapter中我们经常用到View的setTag()和getTag()方法,从而使用ViewHolder来提高效率。 问题1:当我们需要添加多个tag时该怎么做呢? View还有一个setTag(int key, final Object tag)方法,想添加多少tag都行。 问题2:直接调用方法View.setTag(1,"msg"),出现异常: java.lang.IllegalArgumentException: The key must be an application-specific resource id. 异常信息的意思是说:key必须是特定的资源id。 最直接的方法就是在资源文件中添加一条记录: <item type="id" name="tag_first"></item> 可以添加到res/values/strings.xml或者res/values/ids.xml中,然后调用View.setTag(R.id.tag_first,"msg")即可。 知道解决方法了,再来找一下原因。以下是View中相关源码: ...