无法将 HashMap 数据转换为对象列表(模型 class)
Cannot convert HashMap data to List of objects (Model class)
我在 Firebase 数据库中有地址列表。它是这样检索的:
addressesRef
.addListenerForSingleValueEvent(object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
if (snapshot.exists()) {
//Toast.makeText(this@AddressActivity, "Addresses fetched!", Toast.LENGTH_SHORT).show()
}
}
注意带有 2 个 ID 的地址(它们以相反的顺序获取)
我正在尝试将其转换为 ArrayList<Address>
,其中地址是我的模型 class。我该怎么做?
看起来你在数据库中的是 Map<String, Address>
而不是 List<Address>
。如果您只想获取 Address
值,您可以加载地图并只获取其值,或者(首选):
override fun onDataChange(snapshot: DataSnapshot) {
if (snapshot.exists()) {
for (addressSnapshot in snapshot.children) {
val address = addressSnapshot.getValue<Address>();
...
}
}
}
我在 Firebase 数据库中有地址列表。它是这样检索的:
addressesRef
.addListenerForSingleValueEvent(object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
if (snapshot.exists()) {
//Toast.makeText(this@AddressActivity, "Addresses fetched!", Toast.LENGTH_SHORT).show()
}
}
注意带有 2 个 ID 的地址(它们以相反的顺序获取)
我正在尝试将其转换为 ArrayList<Address>
,其中地址是我的模型 class。我该怎么做?
看起来你在数据库中的是 Map<String, Address>
而不是 List<Address>
。如果您只想获取 Address
值,您可以加载地图并只获取其值,或者(首选):
override fun onDataChange(snapshot: DataSnapshot) {
if (snapshot.exists()) {
for (addressSnapshot in snapshot.children) {
val address = addressSnapshot.getValue<Address>();
...
}
}
}