【发布时间】:2019-04-29 19:26:55
【问题描述】:
我正在使用来自 Kotlin Android 扩展的View Binding:
import kotlinx.android.synthetic.main.fragment_user_profile.*
我想在 片段 中显示来自 Cloud Firestore 的值:
FirebaseFirestore.getInstance()
.collection("users")
.document("1")
.get()
.addOnSuccessListener { doc ->
my_text_view.text = doc["name"] as String
}
如果在接收到数据时仍然显示片段,则它可以工作。但是如果用户关闭片段(按回)在接收到数据之前,它会崩溃:
java.lang.IllegalStateException: my_text_view must not be null
如何避免这种情况?
当然我可以使用my_text_view?.text = ... 但是
总有一天我会忘记输入
?没有解决fragment销毁后监听器还活着的问题
我想我想要 addOnSuccessListener(Activity, OnSuccessListener) 这样的东西,但要使用 Fragment 而不是 Activity
【问题讨论】:
-
my_text_view是 Kotlin 视图绑定自动创建的扩展属性
标签: android firebase kotlin google-cloud-firestore kotlin-android-extensions