Kotlin中使用Dagger的坑:使用@Named限定符报错

最近开发APP使用到了Kotlin,Daager2,以为一切都和Java一样的使用,然后就经历过了kapt,@JvmField等问题

之后又发生了@Named限定符问题

事情的经过是这样的,使用到了retrofit,想提供两个retrofit实例在不同的地方使用(其他文章会讲到使用场景)

然后就使用到了@Named限定符具体代码如下

声明两个实例提供者

然后就是使用,java使用没什么问题

然后就遇到了接下来要讲的问题,kotlin使用的时候,先是正常使用

看着没啥问题,编译,哦豁,报错

经过好久的百度,找到以下这篇文章(https://www.jianshu.com/p/1b98d0a0e42d

大意是,kotlin使用限定符的时候有些问题,然后daager2官方也在某一个版本中发现并修复了这个问题,具体使用方法如下

编译,完美通过

问题总结

按照Java的使用方式使用限定符,Java类没有问题,但是用Kotlin使用报错如下

就可以使用 @filed:限定符 来解决

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值