Привет, ребята, и спасибо вам за потраченное время.
Итак, в моем приложении я пытаюсь получить данные в реальном времени из моей базы данных firestore с помощью SnapshotListener, а затем сохранить их в глобальной переменной. Сама извлечение работает нормально, но когда я пытаюсь сохранить его в массиве, происходит сбой. В нем говорится, что массив пуст потом.
Можете ли вы, ребята, объяснить мне, что не так, так как я все еще начинаю с этой вещи в пожарном магазине?
Вот часть кода, которую я считаю полезной:
// Get barbershops nearby from google firestore
MainActivity.db.collection("barbershops")
.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot value,
@Nullable FirebaseFirestoreException e) {
if (e != null) {
Log.w(TAG, "Listen failed.", e);
return;
}
for (QueryDocumentSnapshot doc : value) {
Log.d(TAG, doc.getId() + " => " + doc.getData());
Barbershop bbs = doc.toObject(Barbershop.class);
barbershops.add(bbs);
}
}
});
progressBar.setVisibility(View.GONE);
// Set up the recycler view
RecyclerView recyclerView = view.findViewById(R.id.recyclerView);
// use a linear layout manager
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
mAdapter = new MyAdapter(barbershops, getContext(), this);
recyclerView.setAdapter(mAdapter);
return view;
и затем у меня также есть глобальная переменная:
private ArrayList<Barbershop> barbershops;
Спасибо!