首先让我说我是Android编程的新手。我正在使用Pragmatic的Hello Android书(第3版)。我正在研究流行的数独游戏示例,在复制了要放在main.xml文件中的书中的代码后,我收到以下错误:
error: Error: No resource found that matches the given name (at 'background' with value '@color/background')
.
error: Error: No resource found that matches the given name (at 'text' with value '@string/main_title').
error: Error: No resource found that matches the given name (at 'text' with value '@string/continue_label').
error: Error: No resource found that matches the given name (at 'text' with value '@string/new_game_label').
error: Error: No resource found that matches the given name (at 'text' with value '@string/about_label').
error: Error: No resource found that matches the given name (at 'text' with value '@string/exit_label').
他们可能都是相关的,但经过一些搜索后,我不知道问题是什么。有什么建议吗?
答案 0 :(得分:8)
错误说明了一切。你有一个res文件夹,你的资源就像字符串/图像/布局可以驻留。所以你引用资源但它们不存在。就像你引用的是about_label字符串,但在你的字符串xml中没有字符串about_label及其值的标记。请参阅res-> strings.Check所有xml文件并将您尝试使用的资源放在程序中
答案 1 :(得分:6)
对于字符串错误,您必须在res / values / strings.xml文件中定义字符串,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_title">My Main Title</string>
</resources>
其他错误类似。资源未在res文件夹中定义。
答案 2 :(得分:0)
这些资源是在res / values / *文件夹中创建的(res / values / strings.xml或res / values / colors.xml等...)。 这允许您反复使用字符串或颜色。
目前,您可以使用实际的String对象或文字替换这些资源,即R.string.exit_label将替换为“Exit”。