При использовании проекта библиотеки Android, как правильно обращаться к ресурсам xml?
У меня есть Проект библиотеки Android, который содержит несколько стилей/тем, определенных в файле styles.xml.
Обычно, ссылаясь на этот стиль в другом XML-макете или файле манифеста, вы просто пишете android:theme="@style/TheNameOfTheStyle"
При использовании проекта библиотеки, как зависимый проект правильно ссылается на этот стиль? Просто оставляя его как android:theme="@style/TheNameOfTheStyle"
, дает мне сообщение о том, что не найдено ни одного ресурса, соответствующего этому имени.
Я предполагаю, что этот же вопрос применяется для других ссылок, таких как @string, @color и т.д.
Спасибо
Изменить: Хорошо, поэтому кажется, что вы должны ссылаться на него так же, как обычно, но консоль в eclipse дает мне эту ошибку:
Ошибка: ресурс не найден, что соответствует данное имя (в 'теме' со значением '@style/ThemeName').
(facepalm) Редактировать
Мне просто нужно было "Очистить проект" в Eclipse. Теперь он работает.
Ответы
Ответ 1
Важное значение для создания проекта после добавления ресурсов (или просто для автообмена) и для очистки проекта помогает в большинстве случаев. Хорошая идея - перезапуск Eclipse, когда "что-то" идет не так.
Также обратите внимание, что Android объединяет ресурсы, поэтому последний проект, который строит "выигрывает" имя. По этой причине рекомендуется как-то префикс ALL ресурсов.
Ответ 2
Я использую IntelliJ, и то, что сработало для меня, - это нормально ссылаться на ресурс и убедиться, что библиотека добавлена как зависимость от проекта
Ответ 3
Я столкнулся с одной и той же проблемой, однако очистка в Eclipse не сработала, пока я не установил как проект библиотеки, так и обычный проект для соответствия: Target Build Property.
Ответ 4
У меня была эта проблема в Android Studio. Кажется, Android Studio не понимает, что мой библиотечный проект был библиотекой, несмотря на то, что project.properties заявляет android.library = true.
Я исправил эту проблему, установив флажок "Является ли библиотека" в структуре проекта.
![enter image description here]()