错误消息'没有标签视图指向此文本字段'

时间:2013-05-28 11:15:50

标签: android

我刚刚做了关于如何制作温度转换器的教程,但教程没有解释如何摆脱编辑文本输入上的感叹号。错误是:

  

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

教程为http://www.vogella.com/articles/Android/article.html

3 个答案:

答案 0 :(得分:0)

再看一下你的XML布局文件。您希望将@+id/editText1作为ID。当您引用它时,您想要致电:

EditText editText1 = (EditText)findViewById(R.id.editText1)

请注意,仅在定义属性时,您不需要在引用时编写@+id/。也许这可能是问题所在。

另外,如果你想更改文本,我还没有阅读教程,但应该在strings.xml内定义。

答案 1 :(得分:0)

将其添加到布局xml中的T​​extView:

android:labelFor="@+id/editText1"

我不知道为什么,但它确实有效。

答案 2 :(得分:0)

如果您希望使用lint来抑制错误,我将在下面描述如何找出要抑制的lint警告的名称。

要禁止的完整警告消息:

  

缺少labelFor属性

     

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

     

文本字段应标有labelFor属性,提供   你的minSdkVersion至少是17岁。

     

如果您的视图已标记,但标签位于不同的布局中   包括这个,只是从lint中抑制这个警告。

要禁止它,请将属性tools:ignore="LabelFor"添加到组件声明中,例如:

       <EditText
            android:id="@+id/searchTextView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerVertical="true"
            android:layout_marginStart="62dp"
            android:layout_toStartOf="@id/clearTextButton"
            android:ellipsize="end"
            android:inputType="textLongMessage|textNoSuggestions"
            android:maxLines="1"
            tools:hint="Search STATICDCA" 
            tools:ignore="LabelFor" />

要确定该值为LabelFor,我在Android Studio中执行了以下操作:

  1. 打开包含组件
  2. 的.xml布局文件
  3. 转到菜单选项分析&gt;检查代码
  4. 转到屏幕底部的检查结果
  5. 一直钻进警告
  6. 点击警告
  7. 在检查结果的右侧是详细视图,单击标有“Suppress”的下拉框并选择“使用@SupressLina(Java)抑制或工具:忽略(XML)或lint.xml”
  8. 这会自动将tools:ignore="LabelFor"添加到我的xml文件
  9. 中的组件定义中