android:id、android:name和android XML文件中的name标记之间的差异
有人能澄清一下android XML文件中的android:id、android:name和android XML文件中的name标记之间的差异,android,android-xml,Android,Android Xml,有人能澄清一下android XML文件中的android:id、android:name和name标记之间的区别吗。它们似乎都是参考事物的方式 例如,当我在res/values/array.xml文件中有一个字符串数组时,我使用定义数组中的name字段进行访问,但将其称为“ID” android:id似乎只在Views中使用 是我遗漏了什么,还是只有一个标签更简单?不,我不相信你遗漏了什么。尽管这些字段的名称不同,但据我所知,它们都用于标识/引用资源。这在android:id的情况下特别指GU
android:id
、android:name
和name
标记之间的区别吗。它们似乎都是参考事物的方式
例如,当我在res/values/array.xml
文件中有一个字符串数组时,我使用定义数组中的name
字段进行访问,但将其称为“ID”
android:id
似乎只在View
s中使用
是我遗漏了什么,还是只有一个标签更简单?不,我不相信你遗漏了什么。尽管这些字段的名称不同,但据我所知,它们都用于标识/引用资源。这在
android:id
的情况下特别指GUI元素(视图),在name
的情况下指静态资源
更深入地说,我相信android:id
属性只分配给扩展视图的视图和类。这样做是为了使用findViewById
从代码中以编程方式访问视图:
Button myButton=(Button)findViewById(R.id.which\u id\u assigned\u to\u view)
这与strings.xml或array.xml等资源不同,后者仅由名称
标识,例如下面的strings.xml中的示例:
此处的文本资源
并使用
getResources().getText(R.string.string\u name)
我想这是因为组织上的原因而分开的。这样,生成的Android资源文件(R.java)包含为R.id中的视图指定的id、R.string中包含的字符串id、R.array中的数组id等。感谢您的帮助。我想这已经为我澄清了一切。而且它看起来像是
android:name
也只是在清单文件中使用。“name”属性还有其他功能。例如,在片段中,它用于指定要在布局中实例化的类:这不适用于可与片段一起使用的android:tag
字段。看起来首选:id
:更多关于:tag
属性的有用性: