android 查询倒序_RecyclerView实现倒序列表

本文介绍了如何在Android中实现倒序列表,特别是在聊天界面的应用。对于ListView,可以通过反转数据集来实现,但存在显示和加载更多的问题。而对于RecyclerView,有两种解决方案:一是反转数据,二是利用LinearLayoutManager的setStackFromEnd和setReverseLayout方法。通过设置布局管理器并添加数据到列表头部,可以方便地创建倒序显示的RecyclerView,并且支持常规功能如加载更多。
摘要由CSDN通过智能技术生成

1、写在前面

实现一个聊天界面,就是类似QQ那种,这里是讲一下倒序排列,不实现QQ的各种高级功能

2、ListView 反转数据

只要把数据倒序加入到adapter的数据集中,就可以实现倒序效果

/**

* 回底部

*/

public void goBottom() {

handler.post(new Runnable() {

@Override

public void run() {

if (mListView != null)

mListView.setSelection(mListView.getBottom());

}

});

}

这个方案有一下几个问题

显示最后一条需要每次都移动到相应位置

加载更多需要使用下拉刷新的样式实现(如果样式差不多,这里不是问题)

3、RecyclerView

方案一、反转数据

同listview的实现方式,将数据倒序加入,除了具有listview方式的问题

方案二、反转列表

RecyclerView的布局是有LayoutManager控制的,LinearLayoutManager就支持了倒序的功能

1. setStackFromEnd(true)

2. setReverseLayout(true)

3. list.addFirst(item)

在数据上,可以考虑使用上面3的方法,直接添加数据到列表的头部,或者重写adapter的getItem方法,改为g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值