【发布时间】:2021-07-03 10:34:28
【问题描述】:
我使用以下代码将一些数据作为数组存储在Firestore 中。现在,我想获取这些值并将它们一一放入EditTexts。我该怎么做?
private fun addZipToFirebase() {
val zipList = createListOfZipCodes()
mFireStore.collection(Constants.USERS)
.document(FirestoreClass().getCurrentUserID())
.update("zip_codes", zipList)
.addOnSuccessListener {
Toast.makeText(
this@AssignZIPCodeActivity,
"Zip Codes updates successfully",
Toast.LENGTH_SHORT
).show()
}
.addOnFailureListener { exception ->
Log.e(
javaClass.simpleName,
exception.message,
exception
)
}
}
编辑:
我正在尝试使用以下代码来获取数据。我想要每个EditText(etPinCodeOne、etPinCodeTwo、etPinCodeThree 等)字段名称 zip_codes (在屏幕截图中)下的每个邮政编码。但是通过以下代码,我得到的是EditText 中的所有邮政编码。非常喜欢 [123456, 789456, 132645,798654, 798654, 799865, 764997, 497646, 946529, 946585]。我想要每个EditText 中的每个代码。
private fun getZipCodesFromFirebase() {
mFireStore.collection(Constants.USERS)
.document(FirestoreClass().getCurrentUserID())
.get()
.addOnSuccessListener { document ->
val list: ArrayList<String> = ArrayList()
list.add(document["zip_codes"].toString())
Toast.makeText(this@AssignZIPCodeActivity,list.toString(),Toast.LENGTH_SHORT).show()
binding.etZipCodeOne.setText(list[0])
}
}
有人可以帮我解决这个问题吗?
【问题讨论】:
-
可以找到文档获取文档here。你能分享一下你迄今为止尝试过的任何代码吗?
-
由于我想要获取的值存储为
ArrayList并且我想将它们作为 ArrayList 获取`我不知道如何编写。我已经浏览了您提供的链接,但问题又是数组。 -
这里有一个answer,可能会对您有所帮助。您只需要在代码中定义一个数组:
ArrayList<String> list = (ArrayList<String>) document.get("ip_range"); -
你现在能看看我的问题吗,我已经更新了一些代码和我的firebase数据库结构。
-
我试过
.document(FirestoreClass().getCurrentUserID()).get("zip_codes"),就像你上一条评论一样。我收到错误Type mismatch: inferred type is String but Source was expected。请注意,我想要Kotlin的代码。
标签: kotlin google-cloud-firestore