2017-02-27 80 views
0

我嘗試在Glide中使用StateListDrawable R.drawable.image,但它總是顯示錯誤R.drawable.default_image。但是,如果用R.drawable.image_add_sel替換R.drawable.image,它將正常顯示。我能知道爲什麼嗎?Android Glide沒有顯示StateListDrawable

Glide.with(context)         
.load(R.drawable.image)         
.error(R.drawable.default_image)    
.placeholder(R.drawable.default_image)  
.diskCacheStrategy(DiskCacheStrategy.RESULT) 
.into(imageView); 

R.drawable.image是如下:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/image_add_sel" android:state_focused="true"/> 
<item android:drawable="@drawable/image_add_sel" android:state_pressed="true"/> 
<item android:drawable="@drawable/image_add_sel" android:state_selected="true"/> 
<item android:drawable="@drawable/image_add_nor"/> 

回答

0

我只是想知道你爲什麼不使用,

imageView.setImageResource(R.drawable。圖片);

+0

我使用GridView來顯示照片牆,所以我選擇Glide來實現它。 R.drawable.image用於在GridView的最後顯示。如果我使用imageView.setImageResource(R.drawable.image),imageView將無法正確顯示爲GridView重用和Glide異步加載的視圖。所以我選擇Glide來展示最後一個drawable。但它似乎會拋出「此文件不能作爲文件描述符打開;它可能是壓縮」異常。 – Angel

+0

如果你可以發表你的問題的一些細節會更好。 – sadat