当图像来自服务器时如何设置 edittext 背景(setBackgroundResource(R.drawable.ic_launcher_background))?

How to set edittext background(setBackgroundResource(R.drawable.ic_launcher_background)) when image is from server?

我想将来自服务器的图像设置为我的 editText 的背景。

当图片来自@drawable edit_text.setBackgroundResource(R.drawable.ic_launcher_background);

时,设置背景图很容易

我正在使用它来设置来自服务器的图像:

Glide.with(img_1)
            .load(API_BASE_URL+"img/post_wall_background_1.jpg")
            .apply(RequestOptions.bitmapTransform(new RoundedCorners(15)))
            .placeholder(R.drawable.shadow)
            .into(img_1);

当用户点击该图像时,我想将其设置为我的 editText 的背景。

我该怎么做?

我在谷歌上搜索了几个小时,但找不到任何相关信息。

按照@vikas kumar 的建议,我试过了:

Glide.with(img_1)
            .load(API_BASE_URL+"img/post_wall_background_1.jpg")
            .listener(new RequestListener<Drawable>() {
                @Override
                public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                    return false;
                }

                @Override
                public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                    new_post_edit_text.setBackground(resource);
                    return false;
                }
            })
            .into(img_1);

但不起作用。

非常感谢。

使用 Glide 下载 drawable/bitmap 并使用 drawble/bitmap 设置背景

Glide.with(img_1)
    .load(API_BASE_URL+"img/post_wall_background_1.jpg")
    .listener(new RequestListener<Drawable>() {
        @Override
        public boolean onLoadFailed(Exception e, Object model, Target<Drawable> target, boolean isFirstResource) {
            progressBar.setVisibility(View.GONE);
            return false; // important to return false so the error placeholder can be placed
        }

        @Override
        public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
            edit_text.setBackgroundDrawable(resource);
            return false;
        }
    })
    .into(img_1);

我在这里找到了更好的解决方案:

    Glide.with(getApplicationContext())
                            .load("tools/img/fsfdfg.jpg")
                            .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
                            .into(new CustomTarget<Drawable>() {
                                @Override
                                public void onResourceReady(@NonNull Drawable resource, 
@Nullable Transition<? super Drawable> transition) {
                                    new_post_text_view.setBackground(resource);
                                }
                                @Override
                                public void onLoadCleared(@Nullable Drawable placeholder) {}
                            });