我不知道如何加載這個陣列欄位(IllnessHistory),我在谷歌上搜索過,但沒有人作業。任何人都可以幫助我嗎?這是我的 Firestore 結構的代碼和螢屏截圖:
override suspend fun loadHistoryGiveDonor(userId: String): ArrayList<GiveDonor> {
val data = ArrayList<GiveDonor>()
giveDonorCollectionReference.whereEqualTo(Constants.USER_ID, userId).get()
.addOnSuccessListener { documents ->
for (document in documents) {
data.add(
GiveDonor(
document.id,
document.data[Constants.USER_ID].toString(),
document.data[Constants.NAME].toString(),
document.data[Constants.WHATSAPP_NUMBER].toString(),
document.data[Constants.DATE_BIRTH].toString(),
document.data[Constants.GENDER].toString(),
document.data[Constants.BLOOD_TYPE].toString(),
document.data[Constants.PROVINCE].toString(),
document.data[Constants.CITY].toString(),
document.data[Constants.DISTRICT].toString(),
document.data[Constants.BODY_WEIGHT].toString(),
document.data[Constants.BODY_HEIGHT].toString(),
document.data[Constants.CURRENT_CONDITION].toString(),
document.data[Constants.LAST_DONOR_DATE].toString(),
document.data[Constants.EVER_COVID].toString(),
document.data[Constants.COVID_STATUS].toString(),
document.data[Constants.RECOVERED_DATE].toString(),
ArrayList(),
document.data[Constants.NOTE].toString(),
)
)
}
Log.d("ResultsizeofGive", "${data.size.toString()} ${documents.toString()}")
}.await()
return data
}

uj5u.com熱心網友回復:
要將“IllnessHistory”陣列的內容作為GiveDonor物件串列獲取,您應該創建一個包含該特定串列的新類,如下所示:
data class GiveDonorDoc (
@get:PropertyName("IllnessHistory")
@set:PropertyName("IllnessHistory")
@PropertyName("IllnessHistory")
var illnessHistory: MutableList<GiveDonor>? = null
)
現在要讀取資料,您可以簡單地使用:
val illnessHistory = document.toObject(GiveDonor.class).illnessHistory
我還寫了一篇關于這個主題的文章,叫做:
- 如何將物件陣列從 Cloud Firestore 映射到物件串列?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/491975.html
