在ViewPager中单击保存Glide图像onClick

时间:2018-10-17 14:18:42

标签: android android-glide

我正在使用RecyclerView显示来自服务器的图像。当用户单击RecyclerView项时,它将打开ViewPager和FullImage片段。有一个按钮,用户可以保存该图像。

就目前而言,当用户单击按钮时,我会得到图像位置并通过另一个类似这样的滑动请求保存它-

GlideApp.with(container.getContext())
    .asBitmap()
    .load(image.getUrl())
    .diskCacheStrategy(DiskCacheStrategy.ALL)
    .into(new SimpleTarget<Bitmap>() {
            @Override
            public void onResourceReady(@NonNull Bitmap resource, Transition<? super Bitmap> transition) {
               // I want here the trigger option. When user click btn
              // saveImage(resource, image.getTitle());
                        imageViewPreview.setImageBitmap(resource);
            }
});

需要时间和数据才能发送另一个请求。我希望当用户单击按钮时,它应该从该原始Glide资源中保存。现在如何触发该选项?

GlideApp.with(container.getContext())
    .asBitmap()
    .load(image.getUrl())
    .diskCacheStrategy(DiskCacheStrategy.ALL)
    .into(new SimpleTarget<Bitmap>() {
            @Override
            public void onResourceReady(@NonNull Bitmap resource, Transition<? super Bitmap> transition) {
               // I want here the trigger option. When user click btn
              // saveImage(resource, image.getTitle());
                        imageViewPreview.setImageBitmap(resource);
            }
});

1 个答案:

答案 0 :(得分:1)

您可以使用全局Bitmap变量,并在首次加载后(当用户切换到当前图片时)设置该位图。因此,onResourceReady将执行类似currentBitmap = resource的操作。

最终,如果您在ViewPager上,则可以使用getAdapterPosition();(我想您已经这样做了)来基于当前位置获取图像