Android:可以获得自定义的R.id

时间:2011-08-15 15:36:10

标签: android

是否有可能让android给我一个自定义ID?

所以例如,如果我已经在xml中定义了:

R.id.some_layout
R.drawable.some_drawable

有没有这样的功能

R.custom_id("a_custom_id")

所以我可以访问

R.id.a_custom_id 

2 个答案:

答案 0 :(得分:18)

您无法动态创建新ID。即使R能够这样做,您也无法使用R.id.a_custom_id访问它。 Java不是动态语言,不能在运行时添加字段。


但是,有编译时解决方案。在res/values/ids.xml添加:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <item type="id" name="a_custom_id"/>
</resources>

然后,您可以在代码中引用R.id.a_custom_id,在xmls中引用"@id/a_custom_id"。当然它仍然是预定义的id(而不是运行时定义的id)。

答案 1 :(得分:1)

您可以创建布尔,整数,维度,颜色和其他数组资源。 http://developer.android.com/guide/topics/resources/more-resources.html