R не может быть решена - Android, нет импорта android.R; заявление - PullRequest
8 голосов
/ 25 апреля 2011

Хорошо, я работаю над новым приложением, и все работало нормально, пока я использовал Относительное представление.Однако мне нужен макет с вкладками, поэтому я переключил то, что у меня было (не так много, поскольку я только что прочитал его из БД и с настройками), в представление с вкладками.С тех пор любой класс, в котором есть оператор R., имеет ошибку «R не может быть решена».Я следую учебному пособию из учебника Android «Hello Views», поэтому я предполагаю, что это не проблема (но она все еще может быть).

Ответы [ 10 ]

11 голосов
/ 25 апреля 2011

У меня есть несколько предложений:

  1. Убедитесь, что у вас нет других ошибок, кроме ошибок, связанных с R.Щелкните правой кнопкой мыши папку вашего проекта в Eclipse, Инструменты Android -> Исправить свойства проекта.

  2. Убедитесь, что вы импортировали правильный R.Иногда можно импортировать Android.R по умолчанию.

  3. Проверить наличие ошибок в XML-файлах макета.

8 голосов
/ 25 апреля 2011
  1. Вы можете попытаться "очистить" свой проект.
  2. Иногда помогает техническое решение по умолчанию: перезапустите Eclipse (серьезно)
  3. Если у вас есть ошибка (что-то в вашем XMLвозможно, или что-то еще), R не может быть скомпилирован.Если это так, попробуйте найти первую отмеченную ошибку.Если вы исправите это, R будет скомпилирован и найден.Если необходимо, используйте пункты 1. и 2. после исправления.
  4. Удалите все «import R» в разделах импорта.Вы этого не хотите.
2 голосов
/ 25 апреля 2011

Если вы используете Eclipse, попробуйте дать ему толчок, выполнив Project / Clean и заново собрав свой проект.Иногда возникают случайные проблемы с classpath в проектах Android.

1 голос
/ 15 февраля 2013

Наряду с отличными советами в предыдущих ответах, убедитесь, что ваша цель Android установлена:

  1. Щелкните правой кнопкой мыши по вашему проекту
  2. Выберите Свойства
  3. Выберите Android в левом меню
  4. Установите флажок рядом с соответствующей Целью сборки проекта.
  5. Нажмите Применить и OK

Редактировать: Год спустя я нашел другуюпричина.У меня в папке для рисования было изображение .jpg с тем же именем, что и изображение .png.Ссылка на это изображение в моем коде, должно быть, запутала программу, и это выдало ошибку «R не может быть решена».

0 голосов
/ 06 сентября 2015

В моем случае это было вызвано тем, что я провел рефакторинг своего проекта и переместил некоторые классы в структуру папок.Эти классы не могут найти R как обычно, так как он основан на корневой папке источника.

0 голосов
/ 07 сентября 2014

Вы должны импортировать свои собственные классы проектов R, а не класс Android по умолчанию, т. Е.
your.app.package.R

Это сделает значения, определенные в папке res в вашем классе. После этого обновите, а затем очистите ваш проект.

0 голосов
/ 08 января 2014

Убедитесь, что все строки, которые вы используете (например, "@ string / Hello_world"), действительно существуют в вашем файле strings.xml. Я получил ошибку OP после объявления пункта меню, используя android:title="@string/Navigation", но я не добавил <string name="Navigation">Navigation</string> в strings.xml

0 голосов
/ 30 ноября 2013

У меня тоже была проблема с образцом, и это сработало для меня.

1.) Проверьте наличие ошибок в XML-формате макета.Особенно, когда речь идет о тексте и заголовках

Вы должны использовать

    android:text="@string/hello" 

вместо

    android:text="hello"  

.2) Очистить ваш проект

.3) Перезапустите Eclipse

0 голосов
/ 09 мая 2011

Если что-то в вашем каталоге 'res' названо с использованием недопустимых символов, это может произойти.

Обратите внимание, что android допускает только строчные буквы (без прописных букв !!!), цифры и подчеркивание.ЭТО ВСЕ!

Почти каждая операционная система допускает использование других символов, поэтому перемещение файла в каталог 'res' может легко создать эту проблему.

Исправить?Переименуйте файл.Это можно сделать, щелкнув правой кнопкой мыши файл в вашем пакете или проводнике проекта и выбрав «Refactor-> Rename».Возможно, вам придется очистить ваш проект после этого, но остерегайтесь страшного «import android.R», который может закрасться.

Удачи!-Скотт

0 голосов
/ 25 апреля 2011

Необходимо убедиться, что вы импортируете R. Если ваш основной пакет - com.example, попробуйте импортировать «com.example.R» в начало ваших файлов. По какой-то причине затмение не делает это для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...