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

tjb*_*tjb 5 android

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

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

R.id.some_layout
R.drawable.some_drawable
Run Code Online (Sandbox Code Playgroud)

有没有像这样的功能

R.custom_id("a_custom_id")
Run Code Online (Sandbox Code Playgroud)

所以我可以访问

R.id.a_custom_id 
Run Code Online (Sandbox Code Playgroud)

ina*_*ruk 20

您无法动态创建新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>
Run Code Online (Sandbox Code Playgroud)

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