Пользовательские атрибуты XML не распознаются в файлах макета Android

Я использую этот виджет https://github.com/erikwt/PullToRefresh-ListView и хочу внести некоторые изменения. Я определил attrs.xml, чтобы иметь возможность управлять цветом текста и т. д. из определения XML. Однако мои пользовательские атрибуты не распознаются (ошибка: не найден идентификатор ресурса для атрибута «ptrContainerBackground» в пакете «eu.erikw»). Я уже использовал свои пользовательские представления, определенные в других проектах библиотек, и до сих пор все работало хорошо. Не могли бы вы помочь решить проблему?

Вот мой attrs.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="eu.erikw.PullToRefreshListView">
    <attr name="ptrContainerBackground" format="integer"/>
    <attr name="ptrArrow" format="integer"/>
    <attr name="ptrTextColor" format="integer"/>
    <attr name="ptrTextSize" format="integer"/>
</declare-styleable>    
</resources>

А вот определение представления в файле макета:

<eu.erikw.PullToRefreshListView xmlns:ptr="http://schemas.android.com/apk/res/eu.erikw"
        android:id="@+id/lv_transactionsList"
        ptr:ptrTextColor="@color/text_white_color"
        ptr:ptrContainerBackground="@color/text_white_color"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:divider="@drawable/transactions_list_divider"
        android:dividerHeight="1dip"
        android:cacheColorHint="@color/stations_finder_item_bg">
</eu.erikw.PullToRefreshListView>

person Filip Majernik    schedule 18.05.2012    source источник


Ответы (1)


1) Попробуйте очистить свой проект и снова собрать его и/или

2) проверьте, является ли eu.erikw правильным пакетом в

xmlns:ptr="http://schemas.android.com/apk/res/eu.erikw"

Это должно быть

xmlns:ptr="http://schemas.android.com/apk/res/имя_вашего_пакета

где your_package_name — это пакет вашего приложения, определенный в вашем AndroidManifest.xml

3) Не используйте точки в

declare-styleable name="eu.erikw.PullToRefreshListView">

так как это затруднит получение атрибутов в коде Java.

person Vasu    schedule 18.05.2012