3 回答

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果您將 FirestoreRecyclerAdapter 與 Recyclerview 一起使用,請(qǐng)執(zhí)行此操作。
DocumentSnapshot snapshot = options.getSnapshots().getSnapshot(position); String dbKey = snapshot.getId(); Log.d(TAG, "The database Key is : "+ dbKey);
然后你可以像這樣將它綁定在視圖持有者上
holder.setDocumentId(dbKey);
然后你可以在任何地方檢索它,這取決于你的 getters 和 setters。我希望這會(huì)幫助那里的人。

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
DocumentChange對(duì)象具有返回QueryDocumentSnapshot對(duì)象的方法getDocument()。這是DocumentSnapshot的子類,這意味著它還有一個(gè)getId()方法。因此,您應(yīng)該能夠使用來(lái)獲取正在處理的文檔的 ID。doc.getDocument().getId()

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
以下是如何在 Javascript 中解決它,也許這將幫助您將其轉(zhuǎn)換為 Java。使用以下方法,我們可以動(dòng)態(tài)檢索文檔 ID。請(qǐng)注意,我們使用snapshotChanges(). 這很重要,因?yàn)橐坏┪覀冇嗛喠诉@個(gè)函數(shù),訂閱中就會(huì)包含文檔 ID。
saveMyValuesHere: any[] = []
getPegawai() {
return this.db.collection('Pegawai').snapshotChanges();
}
getPegawai().subscribe(serverItems => {
this.saveMyValuesHere = [];
serverItems.forEach(a => {
const data = a.payload.doc.data();
const id = a.payload.doc.id;
this.saveMyValuesHere.push({ id, ...data});
});
});
添加回答
舉報(bào)