3

我正在使用这个小部件https://github.com/erikwt/PullToRefresh-ListView并想做一些改变。我已经定义了 attrs.xml 以便能够从 XML 定义中控制文本的颜色等。但是我的自定义属性没有被识别(错误是:在包'eu.erikw'中找不到属性'ptrContainerBackground'的资源标识符)。我已经使用了在其他库项目中定义的自定义视图,到目前为止一切正常。你能帮忙解决问题吗?

这是我的 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>
4

1 回答 1

6

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

其中 your_package_name 是您在AndroidManifest.xml

3) 不要在

声明样式名称="eu.erikw.PullToRefreshListView">

因为这会使在 Java 代码中检索 attrs 变得困难。

于 2012-05-18T11:46:47.537 回答