35

这个警告的含义是什么?

没有标签视图指向这个带有 android:labelFor="@ id/@ id/editText1" 属性的文本字段

请注意,双 id ( @id/@id) 是错误消息文本的问题,不反映 XML 内容(这是正确的语法)。

4

8 回答 8

20

labelFor是可访问性选项的属性。您将其分配给一个标签,这样如果在表单上,​​用户单击文本编辑字段,android 就可以知道要向用户读取什么内容(TalkBack)。

您分配给它的 id 似乎不是有效的。@id为什么id里面有两个?像这样使用 id:@id/editText1

于 2013-06-03T11:57:06.383 回答
18

我收到了同样的警告信息。当我向我的 EditText 添加提示时,它消失了

android:hint="Some explanation about the input..."
于 2014-06-12T19:19:07.343 回答
13

尽管我不熟悉您发布的确切错误。但这听起来绝对像是您对textView. 在您的textView.

android:id="@+id/editText1"

如果你想设置labelFor然后使用:

   android:labelFor="@+id/editText1"
于 2013-06-03T11:54:34.933 回答
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" />

它不仅适用于文本视图。

于 2015-11-29T08:13:39.883 回答
2

删除第一个 '@id/' ,使用 like

android:id="@+id/editText1"

这是正确的格式。继续前进.. 最良好的祝愿.. :)

于 2013-06-03T11:56:39.417 回答
2

我通过编写两个属性来解决它:

android:id="@+id/editText1" android:labelFor="@+id/editText1"

于 2015-09-08T02:06:48.057 回答
1

选择editText,转到Properties,然后Label for并输入@id/EditText1

于 2013-07-29T14:24:40.460 回答
0

如果 XML 看起来正确并且您处于图形布局模式,那么它可能使用了不支持 EditText 的更高版本的 Android 呈现布局。

在 Eclipse 和 Android Studio 中应该有一个绿色的 Android 图标,其中包含正在呈现布局的 API 版本。确保您使用的是非 W 或 Wearable API,因为 Android W API 不支持 EditText 元素。(很可能不支持 EditText,因为这些设备上的虚拟键盘空间有限)。

呈现的预览应支持任何 API 4.X 版本中的 EditText,而无需尾随 W。

于 2014-08-28T20:21:53.083 回答