是否可以在自己定义的XML文件上使用Android XML文件中使用的@id/name@+id/name机制?

在一个Android项目中,我有一个XSD模式文件和几个使用该模式的自定义XML。
有些元素有一个id字段,我想用与分配ID到android元素相同的方式来分配;以确保在我的自定义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'.

最佳答案

您可以在资源XML文件中定义ID,并在XML中使用它。

<item name="idname" type="id" />


然后,当您解析XML时,可以将值与resources中的值进行比较。

int id = getResources().getIdentifier(idname, "id", context.getPackageName());

07-24 18:21
查看更多