安卓:是否可以获取自定义的R.id?

6

有没有可能让Android给我一个自定义的ID?

比如,如果我已经在XML中定义了:

R.id.some_layout
R.drawable.some_drawable

有没有类似这样的功能?
R.custom_id("a_custom_id")

所以我可以作为访问者进行访问。
R.id.a_custom_id 
2个回答

25

无法动态创建新的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,在xml中引用 "@id/a_custom_id"。当然它仍然是预定义的id(与运行时定义的id相对)。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接