我可以在不同的xmls上使用相同的ID吗?

时间:2014-08-02 16:47:35

标签: android

我有大约20个不同的xml文件,并且它们都有一个raitingBar,我只有一个Activity,所以我的问题是,我可以对所有raitingBar使用相同的id xml文件?

1 个答案:

答案 0 :(得分:3)

是的,你可以,在Android中,所有指定的XML ID最终在构建时将是R.id.*类中的一些整数。

例如,假设您创建了此XML项:

<TextView android:id="@+id/text"
    ... />

声明android:id="@+id/text"告诉Android,在+课程中添加一个名为 text 的新ID(因为R.id)ID。例如,它需要一些像123这样的迭代。

此时,您在具有相同ID的另一个XML文件中定义另一个视图:

<TextView android:id="@id/text"
    ... />

现在,在您的Java代码中,您使用layout_1.xml(第一个),然后拨打电话findViewById(R.id.text)。请记住,所有R.id.*都是整数类型(那些不是一些奇怪的对象!)

所以这个陈述被解释为findViewById(123)。如果您还记得自己仅使用了layout_1.xml个文件,则只有一个视图存在且标识为R.id.text = 123。因此,此调用将针对layout_1.xml处的仅一个视图而不是其他XML文件中的所有视图。那就是它:))

注意:请避免在同一XML文件中使用相同的ID。