lateinit property has not been initialized加载失败Android

本来我是想在onCreate之外使用swipeRefresh全局变量的,后面在调试的时候就出现了上述问题。

重新看一了一遍,发现是用错语法了,lateinit是用在var修饰变量的,对val变量应该使用by lazy,所以对于控件类的变量应该使用by lazy并且是不可变的,下面这张图就是错误用法了:

正确用法如下:

 val drawerLayout by lazy{ findViewById<DrawerLayout>(R.id.drawerLayout)} 

猜你喜欢

转载自blog.csdn.net/qq_45098495/article/details/129217440