android - "Cannot Resolve Symbol"使用android时出错 :id= "@+android:id/my_id"

标签 android android-studio lint

当我将 android:id/background 添​​加到命名空间时,Lint 提示它“无法解析符号”,即使我请求添加它而不是调用它。代码按编写的方式工作,但错误仍然存​​在。当我改变 <item android:id="@+android:id/background" to <item android:id="@+id/background" ,应用程序停止工作(另一个调用中断)。我的问题是:为什么 Lint 无法识别我将 android:id/background 添​​加到命名空间,即使对它的调用运行良好?有没有更好的方法来给这个项目一个不会让 Lint 抛出错误的 id?

下面层列表中项目的所有三个命名空间定义都会抛出 lint 错误:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+android:id/background"
        android:drawable="@drawable/custom_ratingbar_empty" />
    <item android:id="@+android:id/secondaryProgress"
        android:drawable="@drawable/custom_ratingbar_empty" />
    <item android:id="@+android:id/progress"
        android:drawable="@drawable/custom_ratingbar_filled" />
</layer-list>

我找到了 this并尝试按照建议运行 build->clean 但没有成功。

最佳答案

如果您要创建自己的 ID:

"@+id/your_new_id"

如果你正在访问你已经创建的id

"@id/your_old_id"

如果您正在尝试访问 Android 的系统创建的 id

"@android:id/system_id"

你可以看到区别,如果你正在创建自己的 id,那么你必须添加 +。由于您正在访问系统 ID,因此您不必添加 +

关于android - "Cannot Resolve Symbol"使用android时出错 :id= "@+android:id/my_id",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31662806/

相关文章:

android - 无法在小米 Mi 4c 上从 Android Studio 运行应用程序(认为设备可能是原因)

vim - 让 w0rp Async Lint Engine "ALE"尽可能快?

android - 缺少 Parcelable CREATOR 字段?

javascript - 如何设置 .eslintrc 识别 'require' ?

android - 修复了 ViewPager 内容布局中的 View ,在 CoordinatorLayout 下

java - java中替换 "["字符串时发生异常

android - 在 Android 中解析 JSON 对象

java - Android Studio,应用程序将无法运行而不崩溃

android - Djinni:我可以将接口(interface)定义为在所有环境中都可实现吗?

android - 设备管理员 onDisabled() 未在 android 中调用