2016-04-08 69 views
1

我創建了一個帶有按鈕列表的gui。InflateException:禁用按鈕的選擇器

其中一些按鈕可被禁用和應顯示在不同的顏色,這就是爲什麼添加此選擇器(color/selector_fav_button.xml):

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:color="@color/button_favorite_disabled" /> 
    <item android:color="@color/button_default"/> 
</selector> 

我在樣式屬性(值/樣式引用此選擇.XML):

<style name="favButtonStyle"> 
     <item name="android:textColor">@color/primary_text</item> 
     <item name="android:textSize">@dimen/textView_default_textsize_small</item> 
     <item name="android:background">@color/selector_favorite_button</item><!--Adding this line causes a crash--> 
</style> 

而且款式在我的按鈕被引用:

<Button 
    android:id="@+id/button" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/fav_button_item_height" 
    android:text="@{favBtn.displayText}" 
    android:enabled="@{favBtn.isEnabled}" 
    style="@style/favButtonStyle" 
/> 

分配像@ color/any_color_but_not_a_selector這樣的顏色可以正常工作。如果我在引用任何選擇器的行周圍添加註釋,則所有事情都會再次運行(顏色除外))。

如果我跑我的應用程序沒有崩潰,並留下了android.view.InflateException評論:二進制XML文件行#8:錯誤充氣類按鈕

編輯: 錯誤這裏occures:

ListitemFavBinding binding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.listitem_favBtn, parent, false); 

回答

2

選擇應該是res/drawable。這

<item name="android:background">@color/selector_favorite_button</item> 

建議立即進行刪除d是

<item name="android:background">@drawable/selector_favorite_button</item> 

選擇器不是顏色資源。

+0

它仍然會拋出相同的錯誤 – Karl

+0

可能是數據綁定問題 –