Kotlin扩展函数突然需要api等级24
我只注意到这个lint错误:调用需要Api级别24(当前最小值是19)java.util.map#foreach当我在Kotlin的MutableMap上使用扩展函数forEach。 我写这行的时候并没有发生,但现在呢。 而即时通讯没有看到我的其他机器上的这个错误。
你使用的不是kotlin.collections.MutableMap.forEach
。
你使用的东西似乎是Java 8中的Map.forEach
。
阅读这篇文章: http : //blog.danlew.net/2017/03/16/kotlin-puzzler-whose-line-is-it-anyways/
这似乎是一个常见的错误。
Java 8得到了Android API 24级的很好的支持。
简而言之,不要使用像map.forEach { t, u -> Log.i("tag", t + u) }
。
使用像map.forEach { (t, u) -> Log.i("tag", t + u) }
。
(不是两个参数,只有一个参数是一对)
Java 8中支持Map.forEach,并且它在Android中的支持从API 24开始
- 如何在kotlin中分配相同名称的类变量?
- RxJava 2需要与RxJava 1(Kotlin)不同的Observable返回类型
- 如何使用Kotlin设置OnEditorActionListener
- Observable.combineLatest更新到RxJava 2.xx后导致错误 – 不能推断类型
- Kotlin AAR库w / proguard:如何保持扩展方法?
- Dagger 2不会生成组件类(Android,Kotlin)
- Kotlin – 将项目添加到ExpandableListView
- 无法在分离的视图上启动动画师
- kotlin.TypeCastException:null不能转换为非空类型com.midsizemango.databasekotlin.Note