Если при чтении документа произошла ошибка, переменная documentSnapshot
будет null
. Поэтому ваш код должен проверить это.
Самый простой способ сделать это - добавить простую проверку null
:
public void onEvent(@Nullable DocumentSnapshot documentSnapshot, @Nullable FirebaseFirestoreException e) {
if (document != null && documentSnapshot.exists()){
String semester=documentSnapshot.getString("sem");
sem.setText(semester);
}
}
Но приведенный выше код еще не обрабатывает ошибку. , И поскольку в вашей ситуации document
означает null
, вам действительно нужно знать, что это за ошибка, чтобы иметь возможность ее исправить.
Так что это лучший подход:
public void onEvent(@Nullable DocumentSnapshot documentSnapshot, @Nullable FirebaseFirestoreException e) {
if (e != null) {
Log(TAG, "Listen failed.", e);
return;
}
if (documentSnapshot.exists()){
String semester=documentSnapshot.getString("sem");
sem.setText(semester);
}
}
Обратите внимание, что этот код близко соответствует тому, что содержится в документации по прослушиванию документов , поэтому я настоятельно рекомендую провести там некоторое время.