14

android:id有人可以澄清 Android 的 XML 文件中的,android:namename标签之间的区别吗?它们似乎都是引用事物的方式。

例如,当我在res/values/array.xml文件中有一个字符串数组时,我使用name已定义数组中的字段访问,但Javadoc将此称为“ID”。

android:id似乎只是在Views 中使用?

我是否遗漏了某些东西,或者拥有一个标签会不会更简单?

4

1 回答 1

5

不,我不相信你会遗漏任何东西。尽管这些字段的名称不同,但我的理解是它们都用于识别/引用资源。这具体指的是 GUI 元素(视图)android:idname.

为了更深入,我相信该android:id属性仅分配给视图和扩展视图的类。这样做是为了可以使用以下代码以编程方式访问视图findViewById

Button myButton = (Button) findViewById(R.id.whatever_id_assigned_to_view)

这与简单地用 标识的 strings.xml 或 array.xml 等资源不同name,例如以下可能在 strings.xml 中找到的示例:

<string name="string_name">Text Resource Here</string>

并使用...访问

getResources().getText(R.string.string_name)

我想这些是出于组织原因而分开的。这样,生成的 Android 资源文件 (R.java) 包含为 R.id 中的视图指定的 ID、R.string 中包含的字符串 ID、R.array 中的数组 ID 等。

于 2011-02-24T17:40:32.767 回答