Я отправляю изображения на сервер через Retrofit. Когда процесс отправки завершен, открывается мой FeedFragment, и последнее отправленное изображение должно отображаться в верхней части RecyclerView (первая позиция). Но при первой загрузке imageView не отображается. Только если я прокручу вниз и вверх, он станет видимым. Код скольжения (в адаптере RecyclerView):
Glide.with(context)
.asBitmap()
.load(ApiClient.Base_URL + imagesList.get(0).getImage())
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
.dontAnimate()
.dontTransform()
.thumbnail(0.1f)
.into(new CustomTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
progressBar.setVisibility(View.GONE);
//for dynamic image height:
targetImageHeight = (resource.getHeight() * deviceHeight) / resource.getWidth();
if (targetImageHeight >= deviceHeight) {
targetImageHeight = deviceHeight;
}
imageView.getLayoutParams().height = targetImageHeight;
imageView.setImageBitmap(resource);
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {
Glide.with(context).clear(imageView);
progressBar.setVisibility(View.GONE);
}
});
xml:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:visibility="gone" />
<uk.co.senab.photoview.PhotoView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="400dp" />
</RelativeLayout>