fgboys.whereEqualTo("date", date)
.get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(final QuerySnapshot queryDocumentSnapshots) {
String data="";
if(tvDate.getText().toString().isEmpty()){
Toast.makeText(ProgramToProgram.this, "Please select date", Toast.LENGTH_SHORT).show();
}
else{
for (QueryDocumentSnapshot documentSnapshot : queryDocumentSnapshots) {
PID = documentSnapshot.getId().toString().trim();
String temp = documentSnapshot.get("session").toString();
data = "\nPID: "+ PID +"\n" + "session: "+ temp+"\n";
arrayList.add(data);
arrayAdapter.notifyDataSetChanged();
}
Я хочу получить идентификатор документа этого указанного c документа, который я нажимаю
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
fgboys.get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
for (QueryDocumentSnapshot documentSnapshot : queryDocumentSnapshots) {
pid = documentSnapshot.getId().toString().trim();
}
Toast.makeText(ProgramToProgram.this, " pid:" + pid, Toast.LENGTH_SHORT).show();
}
});
}
});
Это то, что я пробовал, но при нажатии на любой элемент возвращается только один указанный c id
поэтому моя структура базы данных выглядит следующим образом: Collection - ProgramDetails, и в этой коллекции у меня есть много документов, которые имеют автоматически сгенерированные идентификаторы, и этот идентификатор документа - то, что я хочу
fgboys - это где я вызвали коллекцию ProgramDetails