我编写了一个具有EditText的简单布局,但它显示了以下警告消息:
“没有标签视图指向此文本字段”
在搜索时,我找到了这,它解决了这个警告消息,但是android:id和android:labelFor这两个属性没有区别。有什么澄清吗?
发布于 2014-07-14 07:17:07
android:id 为此视图提供标识符名,以便稍后使用
View.findViewById()或Activity.findViewById()检索该视图。这必须是资源引用;通常使用@+语法来创建新的ID资源。例如: android:id="@+id/my_id“,它允许您稍后使用findViewById(R.id.my_id)检索视图。 必须引用其他资源、表单"@[+][package:]type:name"或表单"?package:name“中的主题属性。 这对应于全局属性资源符号id。android:labelFor 公共静态最终int labelFor 指定此视图作为可访问性标签的视图的id。例如,UI中的TextView之前的EditText通常指定EditText中包含什么信息。因此,TextView是EditText的标签。 必须是整数值,如"100“。 这也可能是对包含此类型值的资源(形式为"@package: type :name")或主题属性(形式为"?package:name")的引用。 常数: 16843718 (0x010103c6)
更新:
例如-
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_width="match_parent">
<TextView android:layout_width="match_parent"
android:layout_height="match_parent"
android:labelFor="@+id/edit_item_name"
android:text="Item Name"/>
<EditText android:id="@+id/edit_item_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Item Name"/>
</LinearLayout>
</LinearLayout>参考资料:android:id和android:labelFor。
发布于 2014-07-14 07:15:17
labelFor是可访问性选项的属性。您可以将其分配给标签,这样如果用户在表单上单击EditText字段,android就可以知道要将什么读取给用户(用于低视力用户的TalkBack)。
id为该视图提供一个标识符名,以便稍后使用View.findViewById()或Activity.findViewById()检索它。
发布于 2014-07-14 07:07:56
android:id定义此视图的ID。
android:labelFor引用另一个视图的ID。
https://stackoverflow.com/questions/24731137
复制相似问题