Я использую 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);
}
});
Но в результате изображение не всегда показывается. Я думаю, это как-то связано с тем фактом, что скольжение загружает изображения асинхронно и в какой-то момент возвращается, когда метод instatiateItem
уже завершил работу.
Похоже, что этот вопрос связан. Но советы там мне не помогли. Кто-нибудь сталкивался с этой проблемой и имеет решение?