栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Android的Firestore数据库中获取文档ID或名称以传递到其他活动?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Android的Firestore数据库中获取文档ID或名称以传递到其他活动?

使用适配器的

getSnapshots()
方法:

@Overridepublic void onBindViewHolder(MainActivity.DealsHolder holder, int position, DealsResponse model) {    // ...    holder.itemView.setonClickListener(v -> {        documentSnapshot snapshot = getSnapshots().getSnapshot(holder.getAdapterPosition());        snapshot.getId();        // ...    }); }

该的getId()方法返回文档的ID,所以

collection/myDoc/someField
myDoc
将是ID。

如果您在下一个活动中了解数据结构,则可以通过标准

firestore.collection("foo").document("bar")
方法重新创建具有该ID的引用。如果您正在寻找一般解决方案,请使用
getPath()
以下方法:

fun Bundle.putRef(ref: documentReference) = putString(REF_KEY, ref.path)fun Bundle.getRef() = FirebaseFirestore.getInstance().document(getString(REF_KEY))

如果要在模型中使用ID,请使用自定义

SnapshotParser

val options = FirestoreRecyclerOptions.Builder<DealsResponse>()        .setQuery(query) { it.toObject(DealsResponse::class.java).apply { id = it.id }        }        .build()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515557.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号