我一直在做关于如何制作温度转换器的教程,但教程没有解释如何去掉我的编辑文本输入上的感叹号。错误是:
没有标签视图指向这个带有 android:labelFor="+id/@+id/editText1" 属性的文本字段
我一直在做关于如何制作温度转换器的教程,但教程没有解释如何去掉我的编辑文本输入上的感叹号。错误是:
没有标签视图指向这个带有 android:labelFor="+id/@+id/editText1" 属性的文本字段
再看看您的XML布局文件。你想拥有@+id/editText1
作为 id。当你引用它时,你想调用:
EditText editText1 = (EditText)findViewById(R.id.editText1)
请注意,您不需要@+id/
在引用时编写,仅在定义属性时才需要。也许这可能是问题所在。
另外,如果要更改文字,我没有阅读教程,但应该在strings.xml
.
将此添加到布局 xml 中的 TextView 中:
android:labelFor="@+id/editText1"
我不知道为什么,但它有效。
如果您更喜欢使用 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 中执行了以下操作:
tools:ignore="LabelFor"
到我的 xml 文件中的组件定义中