У меня есть два приложения для Android с аналогичной функциональностью, но с разными чертежами и макетами.
Я хотел бы поместить весь код и ресурсы в проект библиотеки и переопределить некоторые чертежи и макеты в двух приложениях, которые будут ссылаться на эту библиотеку.
Я создал приложение, которое ссылается на библиотеку. Я скопировал все ресурсы из библиотеки в приложение и изменил некоторые чертежи. Я также изменил некоторые из строковых ресурсов. Когда я просматриваю один из измененных макетов в редакторе макета в Eclipse, я вижу правильные переопределенные изображения.
Когда я запускаю приложение, я вижу, что строковые ресурсы, которые я изменил в приложении, отображаются правильно (строки библиотеки переопределены ресурсами приложения), но чертежи моего ImageView
все взяты из ресурсов библиотеки.
Я также внес изменения в некоторые ресурсы макета (перемещены и изменены некоторые изображения). Когда я запускаю действие, которое использует измененный макет (действие, исходный код которого находится в библиотеке), я вижу новый (приложение) макет со старыми (библиотечными) чертежами.
Я попытался определить чертежи ImageView
двумя способами:
-
в макете xml:
android:src="@drawable/image_id"
-
в коде действия:
ImageView view = (ImageView)findViewById(R.id.viewId); view.setImageResource(R.drawable.image_id);
В обоих случаях изображение, которое я вижу, берется из ресурсов проекта библиотеки, а не приложения.
Если мне не удастся решить эту проблему, мне придется дублировать весь код в обоих приложениях, что было бы позором.
Я что-то делаю неправильно?