android关于控件中setTag(key,Object)的设置的相关问题
生活随笔
收集整理的這篇文章主要介紹了
android关于控件中setTag(key,Object)的设置的相关问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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)的设置的相关问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android HandlerThrea
- 下一篇: Activity内嵌Fragment,当