我如何将 kotlin 代码转换为 java [Android]

How do i convert kotlin code into java [Android]

这是我试图转换成 java 的代码,但我不明白它,实际上我得到这个代码作为答案,但 he/she 在 kotlin

Glide.with(context)
            .load(url)
            .listener(object : RequestListener<Drawable> {
                override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Drawable>?, isFirstResource: Boolean): Boolean {
                    //TODO: something on exception
                }
                override fun onResourceReady(resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
                    Log.d(TAG, "OnResourceReady")
                    dummyShimmerView.visibility = View.GONE
                    postImageView.visibility = View.VISIBLE
                    return false
                }
            })
            .into(imgView)

我认为您对 RequestListener 部分感到困惑。 Kotlin 使用 object 符号来实现接口。所以你的代码将大致翻译成这样

 Glide.with(context).load(...)
                .listener(new RequestListener<Drawable>() {
        @Override
        public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
          //TODO
          return false;
        }
        @Override
        public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
          // Todo
          return false;
        }
      })

                }).into(imgView);

您可以使用:

     Glide
        .with(context)
        .load("url")
        .listener(new RequestListener<Drawable>() {
            @Override
            public boolean onLoadFailed(@Nullable @org.jetbrains.annotations.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) {
                dummyShimmerView.setVisibility(View.GONE);
                postImageView.setVisibility(View.VISIBLE);
                return false;
            }
        })
        .into(imageView);