【发布时间】:2021-01-04 12:18:29
【问题描述】:
我正在使用 firebase 实时数据库开发聊天应用程序,我面临的问题是当用户离线并且他们发送消息时,对于大于 4.2.2 和版本 4.2 的 android 版本,它会自动出现在 recyclerview 中。 2及以下不显示离线消息,我想在这些较低版本中做同样的事情,如何在recyclerview中显示离线消息(不同步)? 这是 fetchMessages 方法:
private void fetchMessages() {
if(mChildEventListener == null) {
mChildEventListener = new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot snapshot, @Nullable String previousChildName) {
if (snapshot.exists()) {
Messages messages = snapshot.getValue(Messages.class);
messagesList.add(messages);
adapter.notifyDataSetChanged();
mRecyclerView.smoothScrollToPosition(messagesList.size()-1);
}
}
@Override
public void onChildChanged(@NonNull DataSnapshot snapshot, @Nullable String previousChildName) {
}
@Override
public void onChildRemoved(@NonNull DataSnapshot snapshot) {
}
@Override
public void onChildMoved(@NonNull DataSnapshot snapshot, @Nullable String previousChildName) {
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
};
messagesRef.child(pair).addChildEventListener(mChildEventListener);
}
}
【问题讨论】:
标签: java android firebase firebase-realtime-database