这个警告是什么意思?
没有标签视图指向带有android:labelFor =“@的文本字段 id / @ id / editText1“attribute
请注意,double id(@id/@id
)是一个问题,错误消息文本,并不反映XML内容(这是正确的语法)。
答案 0 :(得分:19)
labelFor
是辅助功能选项的属性。您将此分配给标签,以便在表单上,用户单击textedit字段时,android可以知道要向用户阅读什么内容(TalkBack)。
您分配给它的ID似乎不是有效的。为什么id中有两个@id
?使用这样的ID:@id/editText1
答案 1 :(得分:18)
我收到了同样的警告信息。当我向EditText添加提示
时,它消失了android:hint="Some explanation about the input..."
答案 2 :(得分:14)
虽然我不熟悉您发布的确切错误。但肯定听起来你在textView
中的id做错了。在textView
中使用ID如下所示。
android:id="@+id/editText1"
如果您想设置labelFor
,请使用:
android:labelFor="@+id/editText1"
答案 3 :(得分:6)
这意味着你可能应该为这个编辑文本定义一个标签,并在标签定义中使用labelFor链接它们。
示例代码:
<TextView
android:id="@+id/my_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:labelFor="@+id/my_editText" <!--the plus sign goes first in the code-->
android:text="I'm a label" />
<EditText
android:id="@id/my_editText" <!--no plus sign if not the first-->
android:layout_width="wrap_content"
android:inputType="text"
android:layout_height="wrap_content" />
它不仅适用于文本视图。
答案 4 :(得分:2)
删除第一个'@ id /',使用类似
机器人:ID = “@ + ID / editText1”
这是正确的格式。继续......祝福...... :)
答案 5 :(得分:2)
我通过写两个属性来解决它:
android:id="@+id/editText1"
android:labelFor="@+id/editText1"
答案 6 :(得分:1)
选择 editText ,转到属性,然后标签并输入 @ id / EditText1
答案 7 :(得分:0)
如果XML看起来正确并且你处于图形布局模式,那么它可能会使用不支持EditText的Android渲染布局的更高版本。
在Eclipse和Android Studio中,应该有一个绿色的Android图标,其中的API版本正在呈现布局。确保您使用非W或可穿戴API,因为Android W API不支持EditText元素。 (很可能不支持EditText,因为这些设备上的虚拟键盘空间有限)。
渲染预览应该支持任何API 4.X版本中的EditText,而不需要尾随W。