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

Tim*_*Tim 12 android android-xml

有人可以明确的区别android:id,android:name以及name标签Android的XML文件.它们似乎都是引用事物的方法.

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

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

我错过了什么,或者一个标签不简单吗?

Jor*_*dan 5

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

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

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

这与仅由strings.xml标识的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等.