如何将最后一个文档添加到recyclerview的底部?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (37)

基本上我想将消息对齐,因为它们应该在通常的聊天应用程序中。

现在消息在中正确对齐RecyclerView。但每当我发送新消息时,它都会将其置于其他消息的顶部。每当我回去再次参加那个活动时,消息就会被正确安排。

我只是希望我发送的信息显示在底部。

mLinearLayout.setReverseLayout(true);

然后:

private void loadmessage() {
mFirestore.collection("Users").orderBy("Timestamp", Query.Direction.DESCENDING).limit(10).addSnapshotListener(new EventListener<QuerySnapshot>() {
    @Override
    public void onEvent(@Nullable QuerySnapshot snapshots,
                        @Nullable FirebaseFirestoreException e) {
        if (e != null) {
            Log.w("TAG", "listen:error", e);
            return;
        }

        for (DocumentChange dc : snapshots.getDocumentChanges()) {
            switch (dc.getType()) {
                case ADDED:
                    Message message = dc.getDocument().toObject(Message.class);
                    messageList.add(message);
                    mAdapter.notifyDataSetChanged();
                    mMessagesList.scrollToPosition(messageList.size()-10);
                    break;
            }
        }
    }
});

}

提问于
用户回答回答于

对于公司的FireStore聊天应用程序的功能,GitHub上面有很多答案。

用户回答回答于

试试这个:

 recyclerView.scrollToPosition(messageList.size()-1);
 mAdapter.notifyDataSetChanged();

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    26 粉丝7 提问5 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问3 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券