Итак, я хотел бы загрузить в свою деятельность имена документов внутри одной из моих коллекций (а не атрибуты).
Это делается для того, чтобы иметь возможность щелкнуть их и загрузить атрибуты внутри них.
Мой первоначальный вопрос: как я могу получить идентификатор?
Я пробовал это, но не работал
db.collection("Kit List").document().get().addOnSuccessListener { snapshot ->
snapshot.id
firstKitList.add(snapshot.toString()).toString()
mainListViewAdapter.notifyDataSetChanged()
}
Спасибо
Ответ 1 · Alex Mamo
Предполагая, что ваша база данных выглядит примерно так:
Firestore-root
|
--- Kit List (collection)
|
--- docId1 (document)
|
--- docId2 (document)
|
--- //
Чтобы получить ключ документов, используйте следующий код:
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference kitListRef = rootRef.collection("Kit List");
kitListRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (DocumentSnapshot document : task.getResult()) {
String key = document.getId();
Log.d("TAG", key);
}
} else {
Log.d("TAG", "Error getting documents: ", task.getException());
}
}
});
Вывод будет:
docId1
docId2