поэтому я создавал приложение в Android Studio и хотел использовать RecyclerView для отображения списка объектов CardView. Однако данные для этого списка моментально копируются из Firebase Firestore, и когда я выхожу из приложения из приложения, методы addSnapshotListener и getDocumentChanges выдают сообщение об ошибке:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List com.google.firebase.firestore.QuerySnapshot.getDocumentChanges()' on a null object reference
Как это исправить? Я включу весь метод переписывания списка ниже:
private void rewriteLessonList() {
FirebaseUser currentUser = FirebaseAuth.getInstance().getCurrentUser();
if (currentUser != null) {
firestoreCheck.collection("Lessons").document(userID).get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
lesson_list_rewrite_inner = new ArrayList<>();
firestoreCheck.collection("Lessons").addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
lesson_list.clear();
for (DocumentChange doc : queryDocumentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
LessonPost lessonPostMain = doc.getDocument().toObject(LessonPost.class);
lesson_list.add(lessonPostMain);
lessonRecyclerAdaptor.notifyDataSetChanged();
timeWaste();
}
}
}
});
} else {
Toast.makeText(MainActivity.this, "Error loading lessons ", Toast.LENGTH_LONG).show();
}
}
});
}
}