R не может быть разрешен — Android, нет импорта android.R; инструкция

#android #eclipse #android-layout

#Android #eclipse #android-layout

Вопрос:

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

Ответ №1:

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

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

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

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

Комментарии:

1. Обнаружил, что у меня в моем res/layout/main.xml файл.

2. 1 к устранению ошибок, не связанных с R, в первую очередь. Я все еще не совсем разобрался в этом, но у меня были ошибки, не связанные с R, в другом проекте, и я не могу понять, как они взаимодействовали — но устранение этих ошибок сначала привело к исчезновению ошибок R. Поди разберись.

Ответ №2:

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

Комментарии:

1. Вы не хотите импортировать android.r, но вы хотите импортировать R, который является частью вашего проекта.

2. Нет, вы не хотите импортировать какой-либо R, как было указано ниже, иногда Eclipse выдает неправильный путь к классу, и это приведет к тому, что R будет производным от Android. R вместо yourpackage.R — очистка и перезапуск (и иногда использование автозаполнения, чтобы убедиться, что он использует yourpackage. R вместо Android. R) являются решениями. Опять же, R (должен быть) создан как часть вашего проекта и не должен быть импортирован.

3. Когда я не импортирую R из com.mypackage.r, я получаю сообщение об ошибке. Это потому, что моя активность запуска находится в отдельном пакете?

4. Я не знаю. Если перезапуск, очистка, исправление проекта и т.д. Не работают, вероятно, произошла какая-то ошибка. Это не имеет никакого отношения к R вообще: в вашем коде, который используется для генерации R, есть ошибка, и поэтому он не генерируется. И если он не сгенерирован, он не может быть найден. Ищите проблемы, отличные от «R».

5. Мой проект не будет работать, если я не импортирую r ни для чего за пределами пакета с моей активностью запуска.

Ответ №3:

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

Ответ №4:

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

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

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

Ответ №5:

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

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

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

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

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

Ответ №6:

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

Ответ №7:

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

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

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

     android:text="@string/hello" 
  

вместо

     android:text="hello"  
  

. 2) Очистите свой проект

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

Ответ №8:

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

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

Ответ №9:

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

Ответ №10:

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

Комментарии:

1. Вам не нужен «импорт R», и вы не должны этого делать. Проблема в том, что R не компилируется из-за какой-то ошибки (или просто случайного материала, который можно было бы исправить путем очистки).

2. Когда у меня есть действие в отдельном пакете, отличном от моего запуска, мне нужно «импортировать R», иначе мой проект выдает ошибку. Я попытался очистить и перестроить.