没有标签视图指向此文本字段,其中包含android:labelFor =“@ + id / @ + id /”属性

时间:2015-12-07 06:34:58

标签: android android-edittext

我的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没有任何警告。

我做错了吗?我收到这个警告的原因是什么?

2 个答案:

答案 0 :(得分:4)

我的观点有三次机会

1)可能是你对组件的id做错了。使用id如下。

android:id="@+id/editText1"

2)你不应该在labelFor id中加号。它应该是:android:labelFor="@id/editText1"加号只用一次来生成id。

3)如果您只是将Multiline Text拖到布局中,则会在XML中显示此错误。

请参阅this

答案 1 :(得分:4)

只想为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>