Буквально на днях столкнулся с той же проблемой. Видеоурок устарел, т.к. способ построения адаптера изменился. Получилось откопать некое решение (по крайней мере у меня заработало).
private void displayAllMessages() {
ListView listOfMessages = findViewById(R.id.list_of_messages);
FirebaseListOptions<Message> options = new FirebaseListOptions.Builder<Message>()
.setQuery(FirebaseDatabase.getInstance().getReference(), Message.class)
.setLayout(R.layout.list_item)
.setLifecycleOwner(this)
.build();
FirebaseListAdapter<Message> adapter = new FirebaseListAdapter<Message>(options) {
@Override
protected void populateView(@NonNull View v, @NonNull Message model, int position) {
TextView mess_user, mess_time, mess_text;
mess_user = v.findViewById(R.id.message_user);
mess_time = v.findViewById(R.id.message_time);
mess_text = v.findViewById(R.id.message_text);
mess_user.setText(model.getUserName());
mess_text.setText(model.getTextMessage());
mess_time.setText(DateFormat.format("dd-mm-yyyy HH:mm", model.getMessageTime()));
}
};
listOfMessages.setAdapter(adapter);
}