Iam在我的JSON中獲取一些圖像URL,我解析並顯示在圖像視圖中。所以如果Url爲空,我會顯示一個默認圖片。但在某些情況下,指定了Url但圖像已損壞。在這種情況下,ImageView中只顯示一個空白區域。有什麼辦法可以處理這種情況。在Android中處理來自JSON的損壞圖像
任何幫助將是有用的。
Iam在我的JSON中獲取一些圖像URL,我解析並顯示在圖像視圖中。所以如果Url爲空,我會顯示一個默認圖片。但在某些情況下,指定了Url但圖像已損壞。在這種情況下,ImageView中只顯示一個空白區域。有什麼辦法可以處理這種情況。在Android中處理來自JSON的損壞圖像
任何幫助將是有用的。
使用畢加索兄弟
一個非常簡單的圖像處理庫爲Android
畢加索同時支持下載和錯誤的佔位符作爲可選功能。
Picasso.with(context)
.load(url)
.placeholder(R.drawable.user_placeholder)
.error(R.drawable.user_placeholder_error)
.into(imageView);
http://square.github.io/picasso/
,是的,它那麼容易
您可以使用ImageLoader
來檢查此情況。例如:
private ImageLoader imageLoader = new ImageLoader();
private ImageView Iv;
private String URL =null;
private DisplayImageOptions mDio;
URL = "URL you get from your JSON";
if (URL != null) {
imageLoader.displayImage(URL, Iv, mDio, new SimpleImageLoadingListener() {
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
// check corrupt images on here
view.setImageResource(R.drawable.iv_fail)
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
if (loadedImage != null) {
view.setImageBitmap(loadedImage);
}
}
}, new ImageLoadingProgressListener() {
@Override
public void onProgressUpdate(String imageUri, View view, int current,
int total) {
}
});
} else Iv.setImageResource(R.drawable.iv_default);
希望這有助於
如果圖像已損壞,則圖像大小是零? – Signare 2015-04-06 09:28:51
捕獲圖像的HTTP下載或從流創建位圖的任何例外,並改爲顯示默認圖像。 – 2015-04-06 09:31:13
@Signare。我得到一個狀態代碼確定。但是,每次您獲得狀態後,都會收到一個空的回覆 – user3034944 2015-04-06 09:38:52