这个警告的含义是什么?
没有标签视图指向这个带有 android:labelFor="@ id/@ id/editText1" 属性的文本字段
请注意,双 id ( @id/@id
) 是错误消息文本的问题,不反映 XML 内容(这是正确的语法)。
这个警告的含义是什么?
没有标签视图指向这个带有 android:labelFor="@ id/@ id/editText1" 属性的文本字段
请注意,双 id ( @id/@id
) 是错误消息文本的问题,不反映 XML 内容(这是正确的语法)。
这labelFor
是可访问性选项的属性。您将其分配给一个标签,这样如果在表单上,用户单击文本编辑字段,android 就可以知道要向用户读取什么内容(TalkBack)。
您分配给它的 id 似乎不是有效的。@id
为什么id里面有两个?像这样使用 id:@id/editText1
我收到了同样的警告信息。当我向我的 EditText 添加提示时,它消失了
android:hint="Some explanation about the input..."
尽管我不熟悉您发布的确切错误。但这听起来绝对像是您对textView
. 在您的textView
.
android:id="@+id/editText1"
如果你想设置labelFor
然后使用:
android:labelFor="@+id/editText1"
这意味着您可能应该为此编辑文本定义一个标签,并在该标签定义中使用 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" />
它不仅适用于文本视图。
删除第一个 '@id/' ,使用 like
android:id="@+id/editText1"
这是正确的格式。继续前进.. 最良好的祝愿.. :)
我通过编写两个属性来解决它:
android:id="@+id/editText1"
android:labelFor="@+id/editText1"
选择editText,转到Properties,然后Label for并输入@id/EditText1
如果 XML 看起来正确并且您处于图形布局模式,那么它可能使用了不支持 EditText 的更高版本的 Android 呈现布局。
在 Eclipse 和 Android Studio 中应该有一个绿色的 Android 图标,其中包含正在呈现布局的 API 版本。确保您使用的是非 W 或 Wearable API,因为 Android W API 不支持 EditText 元素。(很可能不支持 EditText,因为这些设备上的虚拟键盘空间有限)。
呈现的预览应支持任何 API 4.X 版本中的 EditText,而无需尾随 W。