没有标签视图使用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 /”属性指向此文本字段的主要内容,如果未能解决你的问题,请参考以下文章

标签视图中的 Android 操作栏搜索

Android 中布局的优化措施都有哪些?

jQuery - 选择输入字段的关联标签元素[重复]

Android使用条形图视图字母

MVC 2 - 标签的数据注释?

将标签和图像动态添加到 Android 中的自定义视图