当我将android:id / background添加到命名空间时,Lint抱怨它"无法解析符号"即使我要求添加它而不是调用它。代码按写入方式工作,但错误仍然存在。当我更改composer update
时,应用程序停止工作(另一个呼叫中断)。我的问题是:为什么Lint不认识我将android:id / background添加到命名空间,即使对它的调用运行良好?有没有更好的方法来为这个项目提供一个不会让Lint抛出错误的ID?
以下图层列表中项目的所有三个命名空间定义都会产生一个lint错误:
<item android:id="@+android:id/background" to <item android:id="@+id/background"
我找到this并尝试按照建议运行build-&gt; clean但没有成功。
答案 0 :(得分:24)
如果您要创建自己的ID:
"@+id/your_new_id"
如果您正在访问已创建的ID
"@id/your_old_id"
如果您尝试访问Android的系统创建ID
"@android:id/system_id"
您可以看到差异,如果您要创建自己的ID,则必须添加+
。由于您正在访问系统ID,因此您无需添加+
答案 1 :(得分:4)
您似乎正在使用额外的+
。
您应将其删除,并按以下方式@+android:id/background
替换为@android:id/background
。
答案 2 :(得分:0)
尝试用@ + id替换@ + android:id并查看它是否有效!