"无法解析符号"使用android时出错:id =" @ + android:id / my_id"

时间:2015-07-27 20:36:31

标签: android android-studio lint

当我将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但没有成功。

3 个答案:

答案 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并查看它是否有效!