【发布时间】:2019-12-26 13:05:54
【问题描述】:
Android studio 显示警告,因此使用ALT + ENTER 代码
val name = data[USERNAME] as String
成为
val name = data?.get(USERNAME) as String
但我的模拟器仍然崩溃
thoughtsCollectionRef.get()
.addOnSuccessListener { snapshot ->
for(document in snapshot.documents){
val data = document.data
//this is my code after listening to android studio
val name = data?.get(USERNAME) as String
val timestamp = data?.get(TIMESTAMP) as Date
val thoughtTxt = data?.get(THOUGHT_TXT) as String
val numLikes = data?.get(NUM_LIKES) as Long
val numComments = data?.get(NUM_COMMENTS) as Long
val documentId = document.id
//我用safecall ?.get()编辑了所有其他变量,但它仍然崩溃
val newThought = Thought(name,timestamp,thoughtTxt,numLikes.toInt(),numComments.toInt(),
documentId)
thoughts.add(newThought)
}
thoughtsAdapter.notifyDataSetChanged()
【问题讨论】:
-
LogCat 中的错误/异常是什么?
-
请发布您的数据库截图和poko以便更好地理解。
-
08-21 09:49:28.578 4088-4088/com.example.rndm E/AndroidRuntime:致命异常:主进程:com.example.rndm,PID:4088 java.lang.ClassCastException: com.google.firebase.Timestamp 无法在 com.example.rndm.MainActivity$onCreate$2.onSuccess( MainActivity.kt:16)在 com.google.android.gms.tasks.zzn.run(未知来源)
-
val timestamp = data?.get(TIMESTAMP) as Date这个字段不是日期而是时间戳 -
@TodorGeorgiev 请检查更新的答案,它将以更好的方式帮助您
标签: android firebase firebase-realtime-database kotlin