android:id,android:Android XML文件中的名称和名称标签之间的区别

时间:2011-02-24 16:39:20

标签: android android-xml

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

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

android:id似乎只是用在View s?

我是否遗漏了某些内容,或者是否有一个标签更简单?

1 个答案:

答案 0 :(得分:5)

不,我不相信你错过任何东西。虽然这些字段的名称不同,但我的理解是它们都用于识别/引用资源。这具体表示android:id情况下的GUI元素(视图)和name情况下的静态资源。

为了更深入,我相信android:id属性仅分配给扩展View的视图和类。这样做是为了使用findViewById

从代码中以编程方式访问视图

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

这与仅由name标识的strings.xml或array.xml等资源不同,例如以下在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等。

相关问题