自动化零件服务商 - 供应SMC,FESTO,CKD全新正品气动元件
自动化零件服务商 - 供应SMC,FESTO,CKD全新正品气动元件
自动化零件服务商 - 供应SMC,FESTO,CKD全新正品气动元件

前言

在做ListView+Adapter时,为了重复利用convertView,如下

if (null != convertView) {
    viewHolder = (ViewHolder) convertView.getTag(TAG_VIEW_MEDIA);
} else {
    viewHolder = new ViewHolder();
    //略
    convertView.setTag(TAG_VIEW_MEDIA, viewHolder);
}

如果存在多个Tag时,通过key进行setTag和getTag,如果tag_view_media不是唯一就会如下异常。

UncaughtException detected: java.lang.IllegalArgumentException: The key must be an application-specific resource id.
        at android.view.View.setTag(View.java:24464)

正文

原因

虽然TAG_VIEW_MEDIA是final的常量,当并不是唯一的,而且Android要求:The key must be an application-specific resource id

解决方式

在values中创建一个ids.xml

values/ids.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="tag_view_media" type="id" />
</resources>

TAG_VIEW_MEDIA替换为R.id.tag_view_media 即可。

参考文章

  1. 【Bug】The key must be an application-specific resource id.

 历史文章

  1. 龙名网
  2. 天翼极速
  3. 唯一网络
  4. 唯云
  5. 点量软件
  6. 纳网科技
  7. 青松云安全
  8. CESU
  9. 深圳网站建设
自动化零件服务商 - 供应SMC,FESTO,CKD全新正品气动元件

相关文章

自动化零件服务商 - 供应SMC,FESTO,CKD全新正品气动元件

暂无评论

none
暂无评论...