是否可以在我自己的自定义XML文件中使用Android XML文件中使用的@id/name
和@+id/name
机制?
在Android项目中,我有一个XSD架构文件和几个使用该架构的自定义XML
有些元素有一个id
字段,我想用与为android元素分配id的方式分配相同的方式;为了确保在我的自定义XML文件中,所有ID都是唯一的。
修改
最初的问题描述得很糟糕。让我澄清一下:
@id
机制可以在自定义XML文件中使用,我可以编写
<myelem id="@+id/name"/>
问题是当我尝试验证XML文件时@id/name
(或@+id/name
)未被识别为unsignedInt
,这是id字段的类型。
cvc-attribute.3: The value '@+id/name' of attribute 'id' on element 'myelem' is not valid with respect to its type, 'unsignedInt'.
答案 0 :(得分:2)
您可以在资源XML文件中定义ID,并在XML中使用它。
<item name="idname" type="id" />
然后,当您解析XML时,您可以将该值与resources中的值进行比较。
int id = getResources().getIdentifier(idname, "id", context.getPackageName());