Я пытаюсь отобразить список файлов из базы данных Firebase в реальном времени, но я хочу проверить, не существует ли файл в базе данных, поэтому я могу отобразить текстовое представление с текстом, указывающим пользователю, что в базе данных еще нет файлов.
Я попытался отобразить файлы, но когда в базе данных нет файлов, textView не отображает, значит, я делаю что-то не так в коде. Вот что я пробовал, но это не работает. Пожалуйста, что я делаю не так?
public void displayDocuments(){
// display progressbar
progressBar.setVisibility(View.VISIBLE);
dBRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
// clear list
archivedDocumentsList.clear();
for(DataSnapshot snapshot: dataSnapshot.getChildren()){
Documents documents = snapshot.getValue(Documents.class);
if(documents == null){
// hides the recyclerView and displays the textView
recyclerView.setVisibility(View.GONE);
// sets visibility to visible
tv_no_archived_document.setVisibility(View.VISIBLE);
}
else {
// hides the textView and displays the recyclerView
tv_no_archived_document.setVisibility(View.GONE);
// sets visibility to visible
recyclerView.setVisibility(View.VISIBLE);
// adds to list
archivedDocumentsList.add(archivedDocuments);
}
}
/*if(!dataSnapshot.exists()){
// hides the recyclerView and displays the textView
recyclerView.setVisibility(View.GONE);
// sets visibility to visible
tv_no_archived_document.setVisibility(View.VISIBLE);
}
*/
// notify adapter of changes
adapterArchivedDocuments.notifyDataSetChanged();
// hides progressbar
progressBar.setVisibility(View.GONE);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
// hides progressbar
progressBar.setVisibility(View.GONE);
// display Error message
Snackbar.make(constraintLayout,databaseError.getMessage(),Snackbar.LENGTH_LONG).show();
}
});
}