Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android setTag方法的key問題解決辦法

Android setTag方法的key問題解決辦法

編輯:關於Android編程

android在設計View類時,為了能儲存一些輔助信息,設計一個一個setTag/getTag的方法。這讓我想起在Winform設計中每個Control同樣存在一個Tag。

今天要說的是我最近學習android遇見的setTag的坑。一般情況下我們只需要使用唯一參數的setTag方法。但有時我們需要存儲多個數據,所以這個時候我們就需要使用帶key的重載。

文檔是描述:“ The specified key should be an id declared in the resources of the application to ensure it is unique (see the ID resource type). Keys identified as belonging to the Android framework or not associated with any package will cause an IllegalArgumentExceptionto be thrown.”

這裡說明必須保證key的唯一,但是如果我們使用java常量定義key(private static final int TAG_ID = 1;)這樣你任然會遇見如下錯誤:

java.lang.IllegalArgumentException: The key must be an application-specific resource id

正確的解決方案是:

在res/values/strings.xml中定義這個key常量,如下:

  <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");

以上就是對Android setTag方法的key問題的解決辦法,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved