java - 根据recyclerview中的最后聊天记录显示用户

标签 java android firebase

我为我的大学项目创建了一个一对一的个人聊天应用程序。当用户互相聊天时,聊天内容将按以下方式存储在 Firebase

   + Chats 
      +currentuser
        +Reciverid
          +postPushid
            +informations

image of the firebase data

我想根据最后一条消息显示与当前用户进行过对话的用户,当新消息插入到当前用户聊天节点下时,用户 ID 应根据时间显示在顶部插入。

帮我根据 Firebase 中的最后一条消息时间按照用户 ID 进行排列。

最佳答案

只需再添加一个属性作为时间戳并使用命令生成它

long timestamp = System.currentTimeMillis();

上传带有负号的聊天消息时将其保存到 Firebase

timestamp = -timestamp;

现在在查询变量中只需添加 this

query.orderByChild("timestamp");

这将选择最小的值,但正值在负值中变得最小,这就是它解析的方式。

关于java - 根据recyclerview中的最后聊天记录显示用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60598378/

相关文章:

java - 了解 Java 构造函数

android - E/FirebaseInstanceId : binding to the service failed. Flutter Android

java - 如何以编程方式在 JavaFX ComboBox 中设置字符串值

java - String.replace 和同一方法多次调用

java - 将隐藏数据添加到表单时出错

android - 如何在 RecyclerView 中使用 LoadMore?

Android VR工具包-HeadTransform getHeadView矩阵表示

android - 在android中获取java.lang.NullPointerException

javascript - 从 $angularfire/$firebase 中获取单个对象

java - 我想获取数组的最后一行