是的,我知道在调用需要密钥的这些函数的版本时需要一个唯一的资源ID,但我不能在我的生活中弄清楚如何创建可以这种方式使用的资源ID。我班上的最后一个变量不会工作,硬编码值也不会。两者都抛出了IllegalArgumentException。那么是什么,你如何使用这些方法?
Spara
答案 0 :(得分:44)
要创建资源ID,可以与您在XML中设置的资源ID(使用@+id
)完全相同,请添加
<resources>
<item type="id" name="myId"/>
</resources>
在res/values/
中的XML中。
答案 1 :(得分:14)
来自the Javadoc:
指定的密钥应该是在应用程序的资源中声明的id ,以确保它是唯一的。
因此,您不能仅仅组成值并将它们放在局部变量中。
您创建的每个资源,无论是字符串(R.string.*
),还是布局(R.layout.*
)或个人View
(R.id.*
)都可以拥有ID。这是你必须要做的事情。
如果您确实需要针对单个View
存储多个对象,则需要使用R.id
变体作为关键字,例如someView.setKey(R.id.my_key_1, someObject)
。
答案 2 :(得分:0)
您可以使用此代码:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<item name="TAG_ONLINE_ID" type="id"/>
</resources>