kotlin

【kotlin】lamda语法兼容问题

2018-03-29  本文已影响101人  stormKid

1、kotlin的lamda语法有很多,特别是foreach语法:

kotlin的forEach语法.png

众多的语法中是不是选取自己喜欢的语法就好了呢?答案肯定是否定的。我们接下来看看博主的配置:

gradle配置.png

现在AS版本为3.1版本,gradle配置为4.4-all,tool配置为:com.android.tools.build:gradle:3.1.0,这里需要说明的是,更新版本过后其某些包特别是glide最新的4.6.1无法编译完成,所以最好是按照AS3.0的配置来配置应用,gradle配置为4.1-all,tool配置为上图所示3.0.0。

2、kotlin循环代码报错:

会报错的代码.png

这里是在fragment中接口回调所调用的代码块,在接口回调中直接调用此方法会在Android版本6.0以下运行报以下错误:

运行时报错.png

3、kotlin循环代码换种写法:

可以兼容的写法.png

此写法可以兼容所有的Android版本,在运行过程中没有报错。

4、说明

bug实现请查看此链接:https://github.com/StormKid/kotlin-err-sample/tree/master

已经向jetbrains与google提了bug issue 地址:https://youtrack.jetbrains.com/issue/KT-23488

上一篇下一篇

猜你喜欢

热点阅读