使用 TextInputLayout 时无法解析资源 @id/visible

Couldn't resolve resource @id/visible when using TextInputLayout

appcompat-v7:25.x.x

上使用 TextInputLayout 时无法解析资源 @id/visible

已尝试以下步骤,但问题仍然存在:

  1. 重建项目
  2. 清理并重建项目
  3. 清除缓存并 重新启动 Android Studio

下面是布局文件中的代码。

    <android.support.design.widget.TextInputLayout
            android:id="@+id/tilFirstName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.design.widget.TextInputEditText
                android:id="@+id/etFirstName"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/first_name"
                android:inputType="textPersonName"/>
    </android.support.design.widget.TextInputLayout>

下面是 Android Studio

中显示的消息

Rendering Problems.

Couldn't resolve resource @id/visible

Tip: Try to refresh the layout.

注意:代码中不存在 @id/visible

这很可能是一个错误,并且已经filed in the Issue Tracker

同时,您可以尝试将编辑器中的 API 版本切换到 19 或以下,尽管 you may see some minor differences in the design output.

无需更改 API

无法解析资源 @string/faq_customer_service

无法解析资源@id/visible

无法解析资源@id/masked

解决方案是如果你实施 TextInputLayout 可能会出现上述问题...所以只需将这些 id 或字符串添加到 xml 文件作为它们的 属性.

这会引起渲染问题 window

如何解决:将这些值添加到任何值文件(文件名似乎并不重要,我使用 ids.xml,您也可以使用现有的,例如 colors.xmlstrings.xml)

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="visible" type="id"/>
    <item name="masked" type="id"/>
</resources>

在 strings.xml 文件中的标记下方添加值:

 <item name="visible" type="id"/>
 <item name="masked" type="id"/>