如何使用Kotlin从Firestore中的数组字段中获取数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Kotlin从Firestore中的数组字段中获取数据?相关的知识,希望对你有一定的参考价值。
我需要一些帮助来弄清楚如何从数组数据中的字段检索值。我想要每个字段中的布尔值,并在“ if”语句中使用它们,但无法找到方法。任何帮助将非常感激。最好使用kotlin示例。
这是我尝试用来更改图像的代码。
internal class UserViewHolder(itemView: View) :
RecyclerView.ViewHolder(itemView) {
// Hold view refs
private val usernameTextView: TextView = itemView.usernameTextView
private val profileUserImage: CircleImageView = itemView.profileUserImage
private val ratingBar: RatingBar = itemView.sProfileRatingBar
private val haircutIcon: ImageView = itemView.haircutIcon
private val waxingIcon: ImageView = itemView.waxingIcon
private val nailIcon: ImageView = itemView.nailsIcon
private val makeupIcon: ImageView = itemView.makeupIcon
private val auth = FirebaseAuth.getInstance()
private val customUserId = auth.uid.toString()
val db = FirebaseFirestore.getInstance()
private val userRef = db.collection("sUsers")
internal fun bind(model: User) {
model.apply {
usernameTextView.text = fullname
Picasso.get().load(profileImage).into(profileUserImage)
ratingBar.setRating(model.totalrating)
if (isHaircut){
haircutIcon.setImageResource(R.drawable.ic_profile_black_24dp)
}else{
haircutIcon.setImageResource(R.drawable.profile)
}
if(isWaxing){
waxingIcon.setImageResource(R.drawable.ic_profile_black_24dp)
}else{
waxingIcon.setImageResource(R.drawable.profile)
}
if(isMakeup){
makeupIcon.setImageResource(R.drawable.ic_profile_black_24dp)
}else{
makeupIcon.setImageResource(R.drawable.profile)
}
if(isNails){
nailIcon.setImageResource(R.drawable.ic_profile_black_24dp)
}else{
nailIcon.setImageResource(R.drawable.profile)
}
}
}
}
答案
正如@DougStevenson在他的评论中提到的那样,看起来您似乎并没有在代码中实际使用userRef
。但是,如果要获取services
数组的内容,则需要知道不可能简单地以列表的形式获取它。基本上,您需要获取对Rj6H ... 4Fy1
文档的引用,调用get()
,然后在onComplete()
函数内部使用以下命令获取该数组:
documentSnapshot.get("services")
返回的对象的类型是List
的HashMaps
。因此,您需要遍历该列表并获取所需的数据。
以上是关于如何使用Kotlin从Firestore中的数组字段中获取数据?的主要内容,如果未能解决你的问题,请参考以下文章
作为 Kotlin 中的函数的结果,如何从 Firestore 数据库返回列表?
作为 Kotlin 中的函数的结果,如何从 Firestore 数据库返回列表?
如何从 kotlin 中的 firestore 读取映射数据
如何使用kotlin滑动删除存储在firestore中的recyclerview项目?