我正在使用Glide
将图像加载到ViewPager
中,使用PagerAdapter
。当我使用以下方法加载图像时:
Glide.with(mContext).load(mImage).placeholder(R.drawable.placeholder).into(mImageView);
一切都正常,但现在我需要从Glide获取位图并在加载时将其存储到地图中以供未来编辑,因此我将此方法更改为以下方法:
Glide.with(mContext).load(mImage).asBitmap().placeholder(R.drawable.placeholder).into(new SimpleTarget<Bitmap>() {
@Override
public void onLoadStarted(Drawable placeholder) {
super.onLoadStarted(placeholder);
mImageView.setImageDrawable(placeholder);
}
@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation<? super Bitmap> glideAnimation) {
if (bitmap != null) {
mImageView.setImageBitmap(bitmap);
}
mBitmapMap.put(position, bitmap);
mInterface.onImageLoaded(position, bitmap);
}
});
但是结果是图片并不总是显示出来。我认为这与Glide异步加载图像的事实有关,并且在某些时候它会在 instatiateItem
方法已经完成运行时返回。
看起来像这个问题与此相关。但那里的建议没有帮助我。有没有人遇到过这个问题并有解决方案?