我有滑翔一個奇怪的錯誤,我不知道該怎麼辦纔好。基本上我有這個功能,它從reddit.com/r/earthporn/加載圖像安卓:滑翔在onStart /錯誤的onResume
newsdata.data.children [位置] .data.url是URL的列表
public void displayImage(final int position) {
Drawable d = view.getContext().getResources().getDrawable(R.drawable.ic_collections_white_24dp);
System.out.println(newsData.data.children[position].data.url);
Glide.with(view.getContext())
.load(newsData.data.children[position].data.url)
.asBitmap()
.listener(new RequestListener<String, Bitmap>() {
@Override
public boolean onException(Exception e, String model, Target<Bitmap> target, boolean isFirstResource) {
displayImage(position + 1);
//todo: make sure we don't run into a index out of bounds.
return false;
}
@Override
public boolean onResourceReady(Bitmap resource, String model, Target<Bitmap> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
})
.centerCrop()
.error(d)
.into(new BitmapImageViewTarget(view.getImageView()) {
@Override
protected void setResource(Bitmap resource) {
super.setResource(resource);
view.setImageBitmap(resource);
wallPaperBitmap = resource;
System.out.println(resource);
}
});
}
的Android不能加載出現在subreddit上的每一個圖像。發生這種情況時,我下載下一張圖片。在今天的運行中,它將加載此圖像http://imgur.com/HOSg2FC,稱爲例外,然後加載此代碼將按預期方式運行OnCreate,該代碼將按預期方式運行。它運行,遇到異常,再次調用displayImages()並設置正確的圖像。 (請讓我知道,如果有更好的方法來做到這一點)
的onResume /在onStart是問題所在。代碼將運行,遇到異常,將錯誤繪製爲可繪製,再次調用displayImages,但不更改imageview。 setResource(位圖資源)也會給我正確的位圖,但不會讓我更新imageview。
基本上,它凍結的ImageView到錯誤繪製,或在空白屏幕中,如果沒有繪製,不會讓我改變它。
調用的onResume用下面的代碼:
if(wallPaperBitmap != null) {
view.setImageViewPicture(wallPaperBitmap);
//view.showButtons();
System.out.println("bitmap != null");
}
else {
retrieveImage(SubReddit.Earth);
System.out.println("bitmap = null");
}
將設置正確的畫面。
我想,也許這樣我試着用diskcachestrategy.none但這並沒有幫助,這可能是與緩存的問題。作爲最後的手段,一旦setResource被更新後的位圖調用,或者只是使用Picasso,我可能會刷新屏幕,但我寧願避免這種情況。
任何幫助表示讚賞!
編輯:我也遇到了錯誤:d/Skia的:--- SkImageDecoder ::廠空在onStart
返回