4

我有什麼加載不同的離線圖像(默認圖像)NetworkImageview凌空安卓

我有GridLayoutManager Recyclerview其中有位置0,2,5,7固定具有自定義圖像(相對佈局轉換爲位圖;)),其餘位置都充滿了使用凌空的setImageUrl()

從服務器鏡像我想

什麼

我希望GridLayoutManager Recyclerview從使用setDefaultImageResId(我繪製的文件夾直到圖片來自服務器負載顯示離線圖像

我的問題

如何設置不同default images即使有是沒有圖像從服務器的原因(當沒有數據從服務器,GridLayoutManager Recyclerview不填充細胞),仍然我想顯示默認圖像(所需的迷你4個單元格)

臨時招我做

我upploaded我4個默認圖像在虛擬服務器強制GridLayoutManager Recyclerview產生使用凌空的setImageUrl()

我預期的結果

細胞
,並將其顯示

enter image description here

回答

0

我認爲如果發生錯誤,Volley可以選擇顯示默認圖像和圖像。

NetworkImageView niv = (NetworkImageView)findViewById(R.id.niv); 
if(url.length() > 0) 
    niv.setImageUrl(url, imageLoader); 
niv.setDefaultImageResId(R.drawable._default); 
niv.setErrorImageResId(R.drawable.error); 
+0

我知道這一點,但默認圖像來行動時,我有一個從服務器的數據。如果我沒有數據,我仍然想顯示默認圖像? –

+0

根據文檔setDefaultImageResId「設置要用於此視圖的默認圖像資源ID,直到加載嘗試完成」,所以我想如果您沒有從服務器獲取圖像,將會顯示默認圖像,沒有? – Spirrow

+0

我我沒有從服務器獲取圖像,我的Recyclerview甚至沒有填充單元格,那麼如何顯示DefaultImages? –

0

可以使用Picasso library從服務器加載圖像。使用Picasso,您可以確定要在網絡出錯時顯示的圖像,或者沒有可用數據。

Picasso.with(context).load(url).error(R.drawable.error_or_defaultimage).into(R.id.imageview,callback) ; 

Here's a tutorial on using Picasso.