当前位置: 首页 > 编程笔记 >

Android开发 -- setTag的妙用和The key must be an application-specific resource id 异常

吴高远
2023-03-14
本文向大家介绍Android开发 -- setTag的妙用和The key must be an application-specific resource id 异常,包括了Android开发 -- setTag的妙用和The key must be an application-specific resource id 异常的使用技巧和注意事项,需要的朋友参考一下

tag是view的一个属性,也可以说是view用于存放参数的一个map,对于提高性能和参数传递都有妙用,比如提高listview的性能:

用于缓存item的view

public View getView(final int position, View convertView, ViewGroup parent) {  

    ItemViewHolder holder; 

    if (convertView == null) {          holder = new ItemViewHolder();          convertView = LayoutInflater.from(context).inflate(R.layout.view_item, null);          holder.timeTextView = (TextView) convertView.findViewById(R.id.text_item_content_time);          holder.remarkTextView = (TextView) convertView.findViewById(R.id.text_item_content_remark);          convertView.setTag(holder);      } else {          holder = (ItemViewHolder)convertView.getTag();      }             if(mMessageListGroup.get(mMessageList.get(position).getGroupId()).isShown()){                  convertView.setTag(R.id.child_show, true);             }else{                 convertView.setTag(R.id.child_show, false);             }            return convertView;  }

在上面的代码中用到了tag,如果是一个好说直接setTag即可,如果有多个又怎么办呢?

setTag还有一个带int类型的重载,但是设置final类型的常量或者写死数字都会出现:

The key must be an application-specific resource id 异常

需要在ids.xml文件中定义一个ID,然后设置在这里!!

以上就是Android开发setTag的妙用的全部内容,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 一般认为,补语就是补充说明述语的结果、程度、趋向、可能、状态、数量等的成分。关于补语的具体解释非常多,这里不展开,译者只需要记得一点:中文的补语别具特色,如果使用得好,很容易得到“地道”的译文。 补语一般是放在它补充的对象之后的(类似英语中的从句),因此有时候需要把原句“切开”,把补语“塞”进去; 句子去掉补语也有可能结构完整(譬如“晚会开得很热闹”变为“晚会开”),但在实际语境中,缺少了补语的表

  • 13.1 什么是 Anko? Anko  是一个用 Kotlin 写的Android DSL (Domain-Specific Language)。长久以来,Android视图都是用 XML 来完成布局的。这些 XML可重用性比较差。同时在运行的时候,XML 要转换成 Java 表述,这在一定程度上占用了 CPU 和耗费了电量。 Anko是一个 Kotlin 库, 它使 android 应用程序的

  • save:用来保存 Canvas 的状态。save 之后,可以调用 Canvas 的平移、放缩、旋转、错切、裁剪等操作。 restore:用来恢复Canvas之前保存的状态。防止 save 后对 Canvas 执行的操作对后续的绘制有影响。 save 和 restore 要配对使用( restore 可以比 save 少,但不能多),如果 restore 调用次数比 save 多,会引发 Erro

  • 本文向大家介绍Android开发 Activity和Fragment详解,包括了Android开发 Activity和Fragment详解的使用技巧和注意事项,需要的朋友参考一下 1.Activity的生命周期 1)多个Activity组成Activity栈,当前活动位于栈顶。我们先来看看各种Activity基类的类图: 当Activity类定义出来之后,这个Activity何时被实例化、它所包含

  • 主要内容:写在前面,1.下载Android Studio,2.安装Android Studio,3.新建工程,4.IDE的界面分析,5.运行下程序试试,6.本节小结写在前面 本节将介绍如何使用Android Studio开发Android APP,和前面Eclipse + ADT + SDK搭建Android开发环境一样,本节也只是介绍一些基本东西,深入的,比如快捷键,小技巧等会再另一篇文章中详细地介绍! 1.下载Android Studio 官网下载:Android Studio for Wi

  • 我有一个实现自定义listview的简单代码段。 我的代码如下: 天气适配器。爪哇语: WeatherHolder.java: 我在so和其他网站上看到了这么多答案,我明白了listview的回收机制。 我还了解到,从 viewholder 那里,我们可以将子视图保存在适配器中,而不必多次调用 因此,这是为了优化。 但是我只有和 和< code>getTag在“这里”做什么?