Установка фона просмотра на основе атрибута темы приводит к сбою приложения

Я пытаюсь установить цвет фона ListView на основе текущего атрибута темы, но происходит сбой каждый раз, когда отображается ListView. Кажется, я делаю что-то не так, но я не вижу, что...

Вот что я делаю:

Сначала создайте цвет фона :

<resources>
    <color name="userlist_background_light">#fff0f0f0</color>
    <color name="userlist_background_dark">#ff040404</color>
</resources>

. Во-вторых, создайте атрибуты для моих пользовательских тем :

<resources>
    <attr name="userlist_background" format="reference|color" />
</resources>

. В-третьих, установка этого атрибута в моих темах:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Light" parent="Theme.Sherlock.Light">
        <item name="userlist_background">@color/userlist_background_light</item>
    </style>

    <style name="Dark" parent="Theme.Sherlock">
        <item name="userlist_background">@color/userlist_background_dark</item>
    </style>
</resources>

И, наконец, использование этого атрибута в ListView xml:

<ListView
        android:id="@+id/user_bar"
        android:layout_width="0dip"
        android:layout_height="0dip"
        android:background="?attr/userlist_background"
        android:cacheColorHint="?userlist_background"
        android:visibility="gone" />

Даже сбой представления макета Eclipse. Конечно, он отлично работает, если я использую «@color/» непосредственно в атрибуте фона. Это даже работает, если я использую, скажем, «?android :attr/colorBackground».

Ошибка сообщения:

android.view.InflateException: Binary XML file line #8: Error inflating class android.view.ListView Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x7f010068 a=-1}

Я почти уверен, что делаю что-то не так, так как он работает с атрибутами Android, но я не смог найти что во время поиска в Google.

Надеюсь, вы сможете мне помочь!

Большое спасибо,

Себастьян.

5
задан Sébastien 11 August 2012 в 12:04
поделиться