Android RecyclerView 实现position列表倒序排列(汇总)

简介: 转载请标明出处: http://blog.csdn.net/djy1992/article/details/76201794 本文出自:【奥特曼超人的博客】刚刚群里有人在问Position倒序的问题,刚好有点时间在这里总结下分享给大家。

转载请标明出处:
http://blog.csdn.net/djy1992/article/details/76201794
本文出自:【奥特曼超人的博客】

刚刚群里有人在问Position倒序的问题,刚好有点时间在这里总结下分享给大家。

不懂的可以点击加入 安卓移动技术精英群安卓移动技术精英



第一种: 常见的有Collections

Collections.sort(list);  
System.out.println("list-》 默认排序后的状态");  
SortList.output(list);  
AI 代码解读



第二种: 在设置数据源的时候:

// 设置倒序
        Collections.reverse(bean);
        myViewHolder.tv.setText(bean.get(position));
AI 代码解读



第三种: 自定义Comparator比较对象,在setAdapter之前调用,Beans需要implements Comparator :

// 自定义比较器:假设是按书的价格排序  
    static class PriceComparator implements Comparator {  
        public int compare(Object object1, Object object2) {// 实现接口中的方法  
            Book p1 = (Book) object1; // 强制转换  
            Book p2 = (Book) object2;  
            return new Double(p1.price).compareTo(new Double(p2.price));  
        }  
    }  
AI 代码解读
//调用
Collections.sort(list, new PriceComparator()); // 根据价格排序  
AI 代码解读
//示例:单独比较
    Comparator<Beans> itemComparator = new Comparator<Beans>() {  
        public int compare(Beans info1, Beans info2){  
            return info1.getAges().compareTo(info2.getAges());  
        }  
    };  
    Collections.sort(mProfileList, itemComparator);  
AI 代码解读



第四种: RecyclerView的布局是有LayoutManager控制的,而LinearLayoutManager就支持了倒序的功能,所以我们可以直接用:

setStackFromEnd(true);
setReverseLayout(true);
AI 代码解读
//示例:setAdapter之前使用
LinearLayoutManager layout = new LinearLayoutManager(this);
layout.setStackFromEnd(true);//列表再底部开始展示,反转后由上面开始展示
layout.setReverseLayout(true);//列表翻转
rView.setLayoutManager(layout);
AI 代码解读



第五种: 和listview一样,size和position是相应的,只要用size来反转数据即可,或者重写adapter的getItem方法,改为get(size-1-position)。



第六种: list增加数据源(这种不太推荐)

//顾名思义,添加到头部数据
list.addFirst(item)
AI 代码解读

|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。

目录
打赏
0
0
0
0
50
分享
相关文章
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
45 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
2月前
|
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
99 11
Android实战经验之如何使用DiffUtil提升RecyclerView的刷新性能
本文介绍如何使用 `DiffUtil` 实现 `RecyclerView` 数据集的高效更新,避免不必要的全局刷新,尤其适用于处理大量数据场景。通过定义 `DiffUtil.Callback`、计算差异并应用到适配器,可以显著提升性能。同时,文章还列举了常见错误及原因,帮助开发者避免陷阱。
437 9
Android RecyclerView 缓存机制深度解析与面试题
本文首发于公众号“AntDream”,详细解析了 `RecyclerView` 的缓存机制,包括多级缓存的原理与流程,并提供了常见面试题及答案。通过本文,你将深入了解 `RecyclerView` 的高性能秘诀,提升列表和网格的开发技能。
106 8
Android项目架构设计问题之加载数据到列表如何解决
Android项目架构设计问题之加载数据到列表如何解决
52 0
Android项目架构设计问题之定义RecyclerView的ViewHolder如何解决
Android项目架构设计问题之定义RecyclerView的ViewHolder如何解决
68 0
Android项目架构设计问题之设置RecyclerView的LayoutManager如何解决
Android项目架构设计问题之设置RecyclerView的LayoutManager如何解决
55 0
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
102 2
Android获取Wi-Fi网络列表
【6月更文挑战第21天】
143 0
Android RecyclerView用代码动态设置item的selector
Android RecyclerView用代码动态设置item的selector
65 0

热门文章

最新文章

  • 1
    Android历史版本与APK文件结构
    28
  • 2
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    23
  • 3
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
    5
  • 4
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
    11
  • 5
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    32
  • 6
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    10
  • 7
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    17
  • 8
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    59
  • 9
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    16
  • 10
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    12
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等