android - 显示来自 Firebase 实时数据库的数据
问题描述
在我的数据库中创建了下一个结构,现在想要在我的列表中显示数据
试图添加下一个代码onViewCreated
:
databaseReference = FirebaseDatabase.getInstance().reference
val wordsRef = databaseReference?.child("talk-6e3c0")?.child("words")
val valueEventListener = object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
topWordsList.clear()
for (wordsSnapshot in dataSnapshot.children) {
val topWord = wordsSnapshot.getValue(TopWord::class.java)
topWord?.let { topWordsList.add(it) }
}
}
override fun onCancelled(databaseError: DatabaseError) {
Log.d("some", "Error trying to get targets for ${databaseError.message}")
}
}
wordsRef?.addListenerForSingleValueEvent(valueEventListener)
方法onDataChanged
被调用,但例如我无法获得名称。
我的模型:
data class TopWord(
val name: String = "",
val description: String = ""
)
解决方案
您没有得到任何东西,因为您将项目的名称添加为参考中的子项,并且没有必要这样做。所以请更改以下代码行:
val wordsRef = databaseReference?.child("talk-6e3c0")?.child("words")
到
val wordsRef = databaseReference?.child("words")
我刚刚删除了对.child("talk-6e3c0")?
.
推荐阅读
- apache-spark - 我可以使用 Airflow 启动/停止火花流作业吗
- blockchain - Restrict function access ONLY to one other specific contract in Solidity
- android - WalletConnect 是否支持“币安智能链(BEP20)”钱包?
- python - How get name of Toplevel window of another Toplevel?
- react-native - 尝试在本机反应中仅显示堆栈导航标题时关闭抽屉标题
- c# - 将所有值从列表添加到列表列表
- php - 2 周内未订购的 woocommerce 用户 sql 查询
- snowflake-cloud-data-platform - 检索覆盖视图 SnowFlake
- java - instanceof 中的模式匹配有时无法解析理论上可解析的范围
- javascript - useContext 未定义