Пользовательский атрибут импортирован из другого проекта Android - PullRequest
4 голосов
/ 05 марта 2012

Из того, что я прочитал в другом месте , ошибка компилятора "Не найден идентификатор ресурса" для пользовательских атрибутов исчезает, когда вы изменяете пространство имен для включенного проекта на: xmlns: si = "http://schemas.android.com/apk/lib/com.my.base.project" вместо "xmlns: si =" http://schemas.android.com/apk/res/com.my.base.project"

Это все еще не решает проблему фактического чтения значения пользовательского атрибута. Из контекста без проекта. Элемент управления просто получает значение по умолчанию. Любые идеи, чтобы заставить это работать?

В моем приложении я использую этот пользовательский атрибут, как и в XML-файле макета:

<merge xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:si="http://schemas.android.com/apk/lib/com.my.base.project">
       <com.my.base.project.view.CustomView
            si:collapsedHeight="100dp">
       </com.my.base.project.view.CustomView>
</merge>

1 Ответ

11 голосов
/ 27 марта 2012

Из заметок о выпуске :

Добавлена ​​поддержка пользовательских представлений с настраиваемыми атрибутами в библиотеках.Макеты, использующие пользовательские атрибуты, должны использовать URI http://schemas.android.com/apk/res-auto пространства имен вместо URI, который включает имя пакета приложения.Этот URI заменяется конкретным приложением во время сборки.

Они пометили его как «выпущенный» в SDK Tools, редакция 17 (март 2012 г.).

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