Kotlin与Fragment的爱恨情仇

一个多月之前做了一下代码优化,因为android.app.Fragment过时了,项目中全部使用Support库中的Fragment。
添加Fragment的时候,用的是supportFragmentManager,但是查找Fragment的时候用的是fragmentManager。导致Fragment找不到,从而导致后续的奇葩逻辑问题。关键Kotlin代码如下:

代码.png

大家发现什么问题了吗?

问题就是Kotlin用的是var来接收方法返回值,没有强制使用Fragment来声明一个变量。编译运行都是没问题的。
如果同样的代码用Java去写,那就必须为Fragment导包,如果这时候用fragmentManager就会导致类型不匹配编译不通过,及时发现问题。这就是强类型语言的优势,有时候还真不能偷懒!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。