Я на самом деле пытаюсь извлечь все идентификаторы документов из базы данных firestore в адаптер массива, для этого я использую document.getid (), но вместо того, чтобы собирать все идентификаторы документов вместе, он вместо этого выбирает их один за другим, однако, что я на самом деле хочучто все идентификаторы должны отображаться в списке. Как я могу противостоять этой проблеме, любая помощь будет оценена.Посмотрите на код, который я пытаюсь реализовать.
public void onClick(View v) {
if (position==0) {
db.collection("Listening")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
if (document != null) {
AlertDialog.Builder builderSingle = new AlertDialog.Builder(mContext);
builderSingle.setTitle("Select A Test");
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(mContext, android.R.layout.select_dialog_singlechoice);
// for (int i=0;i<document.getId().;i++) {
// }
builderSingle.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builderSingle.setAdapter(arrayAdapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String strName = arrayAdapter.getItem(which);
Intent intent=new Intent(mContext,Listening.class);
intent.putExtra("tname",strName);
mContext.startActivity(intent);
}
});
builderSingle.show();
} else {
Log.d("LOGGER", "No such document");
}
}
} else {
Log.w(TAG, "Error getting documents.", task.getException());
}
}
});
}
}
});
Это скриншот моей базы данных: