Не найден ресурс, который соответствует указанному имени (в 'text' со значением '@string/continue_label')

Позвольте мне начать с того, что я новичок в программировании на 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').

Они, вероятно, все связаны, но после некоторых поисков я не знаю, в чем проблема. Любые предложения?

Ответ 1

Ошибка говорит обо всем. У вас есть папка res, в которой может существовать ваш ресурс, такой как string/image/layout.Так что вы ссылаетесь на ресурс, но их нет. Как вы ссылаетесь на строку about_label, но в вашей строке xml нет тег для строки about_label и ее значение. См. res- > strings.Проверьте весь ваш xml файл и поместите ресурс, который вы пытаетесь использовать в своей программе.

Ответ 2

Для строковых ошибок вы должны определить свои строки в файле res/values ​​/strings.xml следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="main_title">My Main Title</string>
</resources>

Другие ошибки похожи. Ресурсы не определены в папке res.

Ответ 3

Эти ресурсы создаются в папке res/values ​​/* (res/values ​​/strings.xml или res/values ​​/colors.xml и т.д.). Это позволяет снова и снова использовать строку или цвет.

Теперь вы можете заменить эти ресурсы фактическими объектами String или литералами, то есть R.string.exit_label будет заменен на "Выход".