#android #eclipse #android-layout
#Android #eclipse #android-layout
Вопрос:
Хорошо, я работаю над новым приложением, и все работало нормально, пока я использовал относительный вид. Однако мне нужен макет с вкладками, поэтому я переключил то, что у меня было (пока не так много, поскольку я только что получил его для чтения из базы данных и настройки работают), на представление с вкладками. С этого времени любой класс, в котором есть какая-либо инструкция R., имеет ошибку «R не может быть разрешен». Я следую руководству из руководства Android «Hello Views», поэтому я предполагаю, что проблема не в этом (но это все еще может быть).
Ответ №1:
У меня есть несколько предложений:
-
Убедитесь, что у вас нет других ошибок, кроме ошибок, связанных с R . Щелкните правой кнопкой мыши папку вашего проекта в Eclipse, инструменты Android -> Исправить свойства проекта.
-
Убедитесь, что у вас импортирован правильный R. Иногда Android по умолчанию.R может быть импортирован.
-
Проверьте, нет ли ошибок в ваших XML-файлах макета.
Комментарии:
1. Обнаружил, что у меня в моем res/layout/main.xml файл.
2. 1 к устранению ошибок, не связанных с R, в первую очередь. Я все еще не совсем разобрался в этом, но у меня были ошибки, не связанные с R, в другом проекте, и я не могу понять, как они взаимодействовали — но устранение этих ошибок сначала привело к исчезновению ошибок R. Поди разберись.
Ответ №2:
- Вы можете попробовать «очистить» свой проект.
- Иногда помогает техническое решение по умолчанию: перезапустите Eclipse (серьезно)
- Если у вас ошибка (возможно, что-то в вашем XML или что-то еще), R не может быть скомпилирован. Если это так, попробуйте найти первую замеченную ошибку. Если вы исправите это, R будет скомпилирован и найден. При необходимости используйте пункты 1. и 2. после исправления.
- Удалите все данные «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 установлена:
- Щелкните правой кнопкой мыши на вашем проекте
- Выберите Свойства
- Выберите Android в левом меню
- Установите флажок рядом с соответствующей целью сборки проекта.
- Нажмите Применить и ОК
Редактировать: Год спустя я нашел другую причину. У меня в папке для рисования было изображение в формате 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», иначе мой проект выдает ошибку. Я попытался очистить и перестроить.