Note: This string resource has the same name as the element ID: edit_message. However, references to resources are always scoped by the resource type (such as id or string), so using the same name does not cause collisions. "
在上面给出的文本中," 对资源的引用始终是作用域的"表示以下xml片段的上下文
<EditText android:id="@+id/edit_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
答案 0 :(得分:0)
Scoped 到@id/
和@string/
你的两个ID都是相同的,但它们不会发生碰撞,因为它们处于不同的范围
答案 1 :(得分:0)
此字符串资源与元素ID同名:edit_message
此处String资源的名称为edit_message
,Edittext的名称为edit_message
。
对资源的引用始终由资源类型
确定范围
这意味着,如果您正在执行R.id.edit_message
,那么它将适用于 Edittext edit_text
。因为这是指 id 类型。
如果您执行R.string.edit_text
,则其范围将为字符串类型edit_text
,因为这是指字符串类型。
因此,据说 对资源的引用始终由资源类型确定
答案 2 :(得分:0)
这意味着您的id和字符串都具有相同的名称。但两者都有两个不同的范围。@id
将查找R.id.edit_message
即id类,而@string
将查找{{1} }}
所以不要担心一切都很好。