build时报错

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

5回答
小张一号 2020-05-12 09:57:28
用 @GlideOption 注解的静态方法用于扩展 RequestOptions 。GlideOption 可以:
定义一个在 Application 模块中频繁使用的选项集合。
创建新的选项,通常与 Glide 的 Option 类一起使用。
要定义一个选项集合,你可以这么写:
@GlideExtensionpublic class MyAppExtension {
  // Size of mini thumb in pixels.
  private static final int MINI_THUMB_SIZE = 100;

  private MyAppExtension() { } // utility class

  @NonNull
  @GlideOption
  public static BaseRequestOptions<?> miniThumb(BaseRequestOptions<?> options) {
    return options
      .fitCenter()
      .override(MINI_THUMB_SIZE);
  }
这将会在 RequestOptions 的子类中生成一个方法,类似这样:
public class GlideOptions extends RequestOptions {
  
  public GlideOptions miniThumb() {
    return (GlideOptions) MyAppExtension.miniThumb(this);
  }

  ...}


90WISH 2020-02-22 05:41:50

或者你把版本改成课程那样

implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
annotationProcessor 'androidx.annotation:annotation:1.0.0'

90WISH 2020-02-22 05:36:08

你版本高了,

全局配置可以试着用下面这个

/**
* 全局配置
* @param options
*/
@NonNull
@GlideOption
public static BaseRequestOptions<?> miniThumb(BaseRequestOptions<?> options) {
   options.placeholder(R.mipmap.loading).error(R.mipmap.loader_error).circleCrop();
   return options;
}



提问者 lpb_ 2020-02-07 16:25:56

代码和老师的一样

  • Glide版本不一致吧,换成课程中的版本
    2020-02-07 17:54:45
提问者 lpb_ 2020-02-07 16:25:08

@GlideOption methods must take a BaseRequestOptions<?> object as their first parameter, but the first parameter in com.example.glidedemo.util.MyGlideExtension#injectOptions(com.bumptech.glide.request.RequestOptions) is com.bumptech.glide.request.RequestOptions

  • 用 @GlideOption 注解的静态方法用于扩展 RequestOptions 。GlideOption 可以: 定义一个在 Application 模块中频繁使用的选项集合。 创建新的选项,通常与 Glide 的 Option 类一起使用。 要定义一个选项集合,你可以这么写: @GlideExtension public class MyAppExtension { // Size of mini thumb in pixels. private static final int MINI_THUMB_SIZE = 100; private MyAppExtension() { } // utility class @NonNull @GlideOption public static BaseRequestOptions<?> miniThumb(BaseRequestOptions<?> options) { return options .fitCenter() .override(MINI_THUMB_SIZE); } 这将会在 RequestOptions 的子类中生成一个方法,类似这样: public class GlideOptions extends RequestOptions { public GlideOptions miniThumb() { return (GlideOptions) MyAppExtension.miniThumb(this); } ... }
    2020-05-12 09:55:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

2.Android 网络操作与流行框架
  • 参与学习           人
  • 提交作业       220    份
  • 解答问题       1800    个

本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师