请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

聊天界面发送消息后,RecyclerView自动定位到底部

图片描述

假设,我现在发送一条消息,发送后这一条消息恰好被面板挡住了。我猜测的原因写在了截图上。老师,如何解决这个问题?

正在回答

2回答

其实应该给adapter添加数据监听,如数据集合变化时,再根据策略,是否是最后一条变更,然后再进行滚动就可以100%完成了。

0 回复 有任何疑惑可以回复我~
  • 提问者 passerbyYSQ #1
    自己在基类RecyclerAdapter中添加监听器吗?数据集合发生变化时,回调的是整个新集合吗?我不知道如何判断是不是最后一条变更。。。直接回调新的mDatatList.size(),子类不就可以scroll到底部了吗?还需要判断是不是最后一条变更?
    回复 有任何疑惑可以回复我~ 2020-03-04 21:01:07
  • Qiujuer 回复 提问者 passerbyYSQ #2
    因为adapter的默认数据监听,是监听的所有变化,中间的某个位置数据变化也会触发。所以如果不做判断,就会因为中间某个数据发送成功,反而滚动到底部的情况。
    回复 有任何疑惑可以回复我~ 2020-03-04 21:41:05
  • 提问者 passerbyYSQ 回复 Qiujuer #3
    老师,其实我的疑惑是:您所说的给adpater添加的数据监听是RecyclerView.adpater本身就有的,还是我们需要自己在自己封装的基类中自定义?
    回复 有任何疑惑可以回复我~ 2020-03-05 08:21:26
慕莱坞5083366 2020-08-10 21:34:51

您好,请问您解决这个问题了吗?如果解决了,能否贴一下您的代码?

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信