在某些情况下,不需要我的广播接收器,因此我需要检查接收器是否为null,但是即使我不使用它并导致崩溃,也不知该对象是否为null。提前致谢。

private val myBroadCastReceiver by lazy {
    MyBroadcastReceiver()
}
if (myBroadCastReceiver != null) {
    unregisterReceiver(myBroadCastReceiver)
}

最佳答案

当您尝试空检查时,它会初始化,因此不会为空。试试这个而不是懒。

private val myBroadCastReceiver : MyBroadcastReceiver? = null

或尝试这个答案
Kotlin: Check if lazy val has been initialised

08-17 17:07