Настройка фона «Просмотр» на основе атрибута theme

Я пытаюсь установить цвет фона 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: двоичная строка XML-файла # 8: ошибка раздувания класса android.view.ListView Caused by: android.content.res.Resources $ NotFoundException: ресурс не является Drawable (цвет или путь): TypedValue {t = 0x2 / D = 0x7f010068 a = -1}

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

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

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

Себастьен.

Хорошо, я исправил это, и это было из-за ошибки!

У меня есть два файла themes.xml , один для Honeycomb + и один для Gingerbread. Я только добавил новые атрибуты в themes.xml нацелив Gingerbread, и тестировал ICS.

Возможно, это поможет другим, кто совершит ту же ошибку!