当用户脱机时,如何在recyclerview中显示尚未同步的firebase消息?

eiee3dmh  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(270)

我正在使用firebase实时数据库开发一个聊天应用程序,我面临的问题是,当用户脱机时,他们会发送一条消息,对于大于4.2.2和4.2.2及以下版本的android版本,它会自动出现在recyclerview中,但不会显示脱机消息,我想在这些较低版本中执行相同的操作,如何在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);
        }

    }
ha5z0ras

ha5z0ras1#

对于display msg offline,在应用程序类中使用下面的代码,如下所示

public class APP NAME extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        FirebaseDatabase.getInstance().setPersistenceEnabled(true);

    }
}

把你的名单改成

<application
    android:name=".APP NAME"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"

相关问题