1

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

没有标签视图指向这个带有 android:labelFor="+id/@+id/editText1" 属性的文本字段

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

4

3 回答 3

0

再看看您的XML布局文件。你想拥有@+id/editText1作为 id。当你引用它时,你想调用:

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

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

另外,如果要更改文字,我没有阅读教程,但应该在strings.xml.

于 2013-05-28T11:57:55.327 回答
0

将此添加到布局 xml 中的 TextView 中:

android:labelFor="@+id/editText1"

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

于 2015-02-01T15:13:56.320 回答
0

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

要抑制的完整警告消息:

缺少labelFor属性

没有标签视图指向这个带有 android:labelFor="@+id/searchTextView" 属性的文本字段

如果您的 minSdkVersion 至少为 17,则应使用 labelFor 属性标记文本字段。

如果您的视图被标记但由包含此视图的不同布局中的标签标记,则只需从 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. 打开包含组件的 .xml 布局文件
  2. 转到菜单选项分析 > 检查代码
  3. 转到屏幕底部的检查结果
  4. 一直深入到警告中
  5. 点击警告
  6. 检查结果右侧是详细视图,单击标有“Suppress”的下拉框并选择“Suppress with @SupressLina (Java) or tools:ignore (XML) or lint.xml”
  7. 这会自动添加tools:ignore="LabelFor"到我的 xml 文件中的组件定义中
于 2018-05-04T18:38:41.990 回答