【问题标题】:Glide - Cannot resolve method override [duplicate]Glide - 无法解决方法覆盖[重复]
【发布时间】:2019-07-30 08:27:02
【问题描述】:

我在过去 2 天内遇到了 Glide 问题。它工作正常,但是当 Glide 依赖的更新到来时,它在我之前的代码中给了我错误。

这是我的代码:

  private void showImage(Uri uri, int dimenInPx) {
    Glide.with(context)
            .load(uri)
            .override(dimenInPx, dimenInPx)
            .transform(new CircleTransform(context))
            .placeholder(R.mipmap.ic_display_pic)
            .into((ImageView) findViewById(R.id.img_displayPic));
}

.override、.transform 和 .placeholder 不能被 Glide 识别。

我的 Gradle 文件:

compile 'com.github.bumptech.glide:glide:3.7.0'

是的,我知道这是旧版本,但我什至尝试使用最新版本...

compile 'com.github.bumptech.glide:glide:4.3.1'

我不知道我在哪里做错了。请帮帮我。谢谢

更新 1: 我将 Glide 更新为最新的依赖关系,然后修改了@Ratilal 提供的代码,现在看起来像这样:

Glide.with(context)
 .load(uri)
 .apply(new RequestOptions()
 .override(dimenInPx, dimenInPx)
 .placeholder(R.mipmap.ic_display_pic)
 .transform(new CircleTransform(context)))
 .into((ImageView) findViewById(R.id.img_displayPic));

所以现在错误消失了,但我得到了运行时 NoSuchMethodError。

No virtual method load(Landroid/net/Uri;)Lcom/bumptech/glide/DrawableTypeRequest; in class Lcom/bumptech/glide/RequestManager; or its super classes (declaration of 'com.bumptech.glide.RequestManager' appears in /data/app/com.scoratech.scoraxchange-1/split_lib_dependencies_apk.apk)

【问题讨论】:

  • 发布完整的 gradle 文件..
  • 就我而言,它正在使用 compile 'com.github.bumptech.glide:glide:3.7.0'
  • @RatilalChopda,是的,正在检查。

标签: android android-glide


【解决方案1】:

4.3.1中可以这样使用。

Glide.with(this)
     .load(YOUR_URL)
     .apply(new RequestOptions().override(dimenInPx, dimenInPx).placeholder(R.drawable.placeHolder).error(R.drawable.error_image))
     .into(imageview);

【讨论】:

  • @KhanStan99 这个答案有什么问题。
  • 好的,这没有给出任何错误,但我遇到了 OnClick 按钮事件的问题。让我解决这个问题。完成后在这里更新。
  • 所以这是更新,当我单击图像选择按钮时,它会引发此错误:致命异常:主要 java.lang.NoSuchMethodError:没有虚拟方法加载(Landroid/net/Uri;)Lcom/bumptech /glide/DrawableTypeRequest;在 Lcom/bumptech/glide/RequestManager 类中;或其超类(“com.bumptech.glide.RequestManager”的声明出现在 /data/app/com.scoratech.scoraxchange-1/split_lib_dependencies_apk.apk)
【解决方案2】:

使用RequestOptions 的最新版本。

RequestOptions myOptions = new RequestOptions()
    .fitCenter()
    .override(dimenInPx, dimenInPx);

Glide.with(context)
    .load("URL")
    .apply(myOptions)
    .into(ImageView);

请关注Migrating from v3 to v4

【讨论】:

  • 是的,试过了。没有成功。
  • @KhanStan99 我已经编辑了答案。
  • @RatilalChopda 的回答没有给我任何错误,但我遇到了另一个小问题。一次检查他的答案
  • @KhanStan99 解决问题?
  • 是的理性答案有效。即使你这样做的方式也一样。
猜你喜欢
  • 2014-03-06
  • 2021-12-02
  • 1970-01-01
  • 1970-01-01
  • 2018-07-03
  • 2021-05-07
  • 1970-01-01
  • 1970-01-01
  • 2019-11-18
相关资源
最近更新 更多