gpt4 book ai didi

java - 如何从firestore数据库获取文档id

转载 作者:行者123 更新时间:2023-12-02 02:57:24 25 4
gpt4 key购买 nike

我正在尝试通过调用 doc.getId() 来检索文档 ID但我无法从这段代码中调用它

        db.collection("Pegawai").addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
if(e != null) {
Log.d(TAG, e.toString());
}
if (queryDocumentSnapshots != null) {
for (DocumentChange doc: queryDocumentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
Pegawai pegawai = doc.getDocument().toObject(Pegawai.class);
pegawai.setId(doc.getId());
pegawaiList.add(pegawai);

pegawaiListAdapter.notifyDataSetChanged();
}
}
}
}
});

我已经尝试过这段代码,显然,我可以调用 doc.getId()使用此代码,但此代码未填充我的 recyclerview完全没有

        db.collection("Pegawai").addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
if(e != null) {
Log.d(TAG, e.toString());
}
if (queryDocumentSnapshots != null) {
for (DocumentSnapshot doc : queryDocumentSnapshots) {
Pegawai pegawai = doc.toObject(Pegawai.class);
pegawai.setId(doc.getId());
pegawaiList.add(pegawai);
}
}
}
});

最佳答案

如果您将 FirestoreRecyclerAdapter 与 Recyclerview 结合使用,请执行此操作。

 DocumentSnapshot snapshot = options.getSnapshots().getSnapshot(position);
String dbKey = snapshot.getId();
Log.d(TAG, "The database Key is : "+ dbKey);

然后你可以像这样将它绑定(bind)在 View 持有者上

    holder.setDocumentId(dbKey);

然后你可以在任何地方检索它,具体取决于你的 getter 和 setter。我希望这会对那里的人有所帮助。

关于java - 如何从firestore数据库获取文档id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57068280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com