没有标签视图使用android:labelFor =“@ + id / @ + id /”属性指向此文本字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有标签视图使用android:labelFor =“@ + id / @ + id /”属性指向此文本字段相关的知识,希望对你有一定的参考价值。
我的xml中有一个EditText
,我收到了这个警告
没有标签视图使用android:labelFor =“@ + id / @ + id / et_password”属性指向此文本字段
我搜索过SO而且发现了这些帖子,但遗憾的是我没有找到任何解释这个警告原因的答案。
1- Meaning of "No label views point to this text field" warning message
2- EditText warning in android app development
这是我的xml代码:
<LinearLayout
android:id="@+id/ll_password"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tv_password"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:text="@string/tv_password" />
<EditText
android:id="@+id/et_password"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:background="@color/background"
android:gravity="start|center_vertical"
android:inputType="textPassword"
android:singleLine="true" />
</LinearLayout>
我不知道为什么我会收到这个警告。到目前为止我做了什么:
1-我试着改变我的EditText
id
2-在我的布局中删除TextView
但警告仍然存在。我只是想知道因为我的用户名没有任何警告我有相同的LinearLayout
。
我做错了吗?我收到这个警告的原因是什么?
在我的观点中有三次机会
1)可能是你对组件的id做错了。使用id
如下。
android:id="@+id/editText1"
2)你不应该在labelFor
id中加号。它应该是:android:labelFor="@id/editText1"
加号只用一次来生成id。
3)如果您只是将Multiline Text
拖动到布局中,则此错误将显示在XML中。
见this
只想为Anoop的答案添加一些解释。为了解决这个问题,我刚将这一行添加到我的TextView
:
android:labelFor="@id/et_password"
它与EditText的id无关。
它与id的+符号无关。
这是最终的xml代码:
<LinearLayout
android:id="@+id/ll_password"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tv_password"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:labelFor="@id/et_password"
android:text="@string/tv_password" />
<EditText
android:id="@+id/et_password"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:background="@color/background"
android:gravity="start|center_vertical"
android:inputType="textPassword"
android:singleLine="true" />
</LinearLayout>
以上是关于没有标签视图使用android:labelFor =“@ + id / @ + id /”属性指向此文本字段的主要内容,如果未能解决你的问题,请参考以下文章