setTag () 是 Android 的 View 类中很有用的一个方法,可以用它来给控件附加一些信息,在很多场合下都得到妙用。

所以抛出IllegalArgumentException 的原因就在于 key 不唯一,那么如何保证这种唯一性呢?

很明显定义一个 final 类型的 int 变量和硬编码一个值的方式都是行不通的。

比如下面一个错误的例子:

private static final int TAG_ONLINE_ID = 1;
((Button)row.findViewById(R.id.btnPickContact)).setTag(TAG_ONLINE_ID,objContact.onlineid);
05-18 20:29:38.044: ERROR/AndroidRuntime(5453): java.lang.IllegalArgumentException: The key must be an application-specific resource id.
05-18 20:29:38.044: ERROR/AndroidRuntime(5453):at android.view.View.setTag(View.java:7704)
05-18 20:29:38.044: ERROR/AndroidRuntime(5453):at com.mypkg.viewP.inflateRow(viewP.java:518)

那如果一定需要使用多个 tag 绑定怎么做呢? 那么这么做,在res/values/strings.xml 中添加

<resources>
<item type="id" name="tag_first">
</item>
<item type="id" name="tag_second">
</item>
</resources>

使用

imageView.setTag(R.id.tag_first, "Hello");
imageView.setTag(R.id.tag_second, "Success");

就这就保证了 key 值的唯一性。

取值

String tag_first=v.getTag(R.id.tag_first).tostring();

From:http://blog.csdn.net/brokge/article/details/8536906

android关于控件中setTag(key,Object)的设置的相关问题相关推荐

  1. android EditText 控件中加入图片(非背景图片)

    效果如下: 只需要 利用EditTExt的 drawableLest 属性 <EditText android:id="@+id/Edit_user"android:layo ...

  2. Android常用控件之Fragment仿Android4.0设置界面

    Fragment是Android3.0新增的概念,是碎片的意思,它和Activity很相像,用来在一个Activity中描述一些行为或部分用户界面:使用多个Fragment可以在一个单独的Activi ...

  3. [Android] 拍照、截图、保存并显示在ImageView控件中

    最近在做Android的项目,其中部分涉及到图像处理的内容.这里先讲述如何调用Camera应用程序进行拍照,并截图和保存显示在ImageView控件中以及遇到的困难和解决方法.     PS:作者购买 ...

  4. android 获取控件在屏幕中的坐标

    今天,简单讲讲android如何获取控件在屏幕中的坐标. 这个其实也很简单,但是昨天做一个功能时,需要功能控件的坐标做一些逻辑操作时,居然不知道怎么做.所以在网上查找了资料后,解决了这个问题.这里记录 ...

  5. android 日程安排view,RecyclerView 列表控件中简单实现时间线

    时间 时间,时间,时间啊:走慢一点吧- 看见很多软件中都有时间线的东西,貌似天气啊,旅游啊什么的最多了:具体实现方式很多,在本篇文章中讲解一种自定义View封装的方式. 效果 先来看看效果. 分析 软 ...

  6. android 的a标签,Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)...

    在5.2.1节和5.2.2节介绍了标签以及TextView自动识别的特殊文本(网址.电话号.Email等),这些都可以通过单击来触发不同的动作.虽然这些单击动作已经可以满足大多数需要了,但如果读者想在 ...

  7. Android kotlin 将Base64字符串转换成Bitmap,并在jetpack compose的Image控件中显示

    Android kotlin 将Base64字符串转换成Bitmap 前言 代码 将Base64字符串转换成Bitmap 在jetpack compose的Image控件中显示Bitmap 完事 前言 ...

  8. android中翻页控件,Android GridView控件分页自定义

    上一篇:Android GridView控件自定义中,我们自定义了Android GridView控件. 包名解释: com.yaomei.activity.adapter   DEMO使用到的自定义 ...

  9. Android图表控件MPAndroidChart——BarChart实现多列柱状图以及堆积柱状图

    目录 前言 1. 数据准备 1.1 数据来源 2. 图表展示 2.1 MPAndroidChart获取 2.2 数据对象获取 2.3 数据展示 3. 柱状图外观完善 3.1 去掉图表外框,描述内容以及 ...

最新文章

  1. 一、Focal Loss理论及代码实现
  2. linux子系统使用rstudio,Windows 10 Linux子系统 (wsl)学习手记
  3. Linux下的XAMPP基本配置技巧(设置虚拟主机、添加FTP账户等)
  4. Spring–添加SpringMVC –第2部分
  5. 全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<UEL表达式篇>
  6. es6 Class 的 getter函数和setter函数
  7. office怎么像wps一样多栏_时常受到欺负怎么办?——要像对付野狗一样对付坏人!...
  8. Mathpix Snip他们都说好用!我也试一试尝试下载-安装-使用
  9. Linux 文件删除不了? 一招教你搞定!
  10. MongoDB与物联网应用讲座
  11. workerman wss 配置备忘录
  12. 数据分析pandas使用
  13. delphi 调用带有返回值的sql SERver 2008 存储过程
  14. uniapp小程序获取定位(高德SDK)
  15. mybatis,引入pageHelper,参数中有pageNum和pageSize,且都不为空,会分页
  16. leaftlet 中Polygon的使用属性
  17. Paper.js入门:项目和项目
  18. 用python做数据处理怎么挣钱_个人利用python爬虫技术怎么挣钱
  19. 小视频app源码,Android 滑动拼图验证码控件
  20. Python数据可视化 Pyecharts 制作 Parallel 平行坐标系

热门文章

  1. Linux 安装Anroid Studio 0.8
  2. 生成二维码接口,前端调用接口将二维码显示在页面上
  3. Java学习(Map接口)
  4. 页面提交插入到数据库 1.jsp
  5. RobotFramework自动化4-批量操作案例
  6. Tomcat内部结构及工作原理学习
  7. Java .Net Byte数组存储差异以及解决方法
  8. SPOJ- QTREE+HDU 3966(树链剖分裸题
  9. android support Percent支持库开发
  10. 【顶】Asp无组件生成缩略图(1)