谈Android中对ListView,RecycleView应用的简化
编者:李国帅
qq:9611153 微信lgs9611153
时间:2020-7-17
背景:
数据列表的展示在任何应用中都是重要的内容,android的列表类无外乎ListView,RecycleView,GridView,但是它们使用起来有些局限,于是就出现无数继承它们的列表类,用来实现下拉,拖动,手势等功能。
有些列表操作很复杂,但这根本就不是程序员们想要的。如果一个列表使用几百行代码,恐怕几十个表的项目,仅仅在列表部分,复制粘贴恐怕都要超过上万行代码。
也许我只是想显示简单一下数据,但是看上去很复杂。这代码的集成方面,JAVA和Android的搭配还真是绝配,其在自定义控件的制作,界面的展示,模块的集成方面,是从vc过来的人难以想象的。
问题描述:
粗看起来,要实现一个list显示,需要考虑很多方面:
数据处理:获取数据列表
加载list到相关布局,以及list的属性
listitem的布局
相关adapter以及ViewHolder
把数据列表的数据填充到ViewHolder
下拉刷新和加载更多,以便获取数据(可能和ScrollView冲突)(记录查询位置)
点击ViewHolder或者里面的界面元素激发事件
数据同步,正在加载数据的时候不允许重新请求数据
。
解决:
而实际上,使用者关心的内容并不多,使用输入输出可以看得很清楚。
一个列表必须要做的:
- 列表显示流程语句
- listitem的布局(xml)
- 数据处理:获取数据列表
- 下拉刷新和加载更多的事件回调
- 点击ViewHolder或者里面的界面元素激发事件回调
这里就用xlist为例,看一下对列表扩展和简化的一些想法思路。
调用页面XListActivity
点击列表项BookListItem
再加上一个布局list_item_book
最后
Android程序做的越多,越感觉越像是在搬砖头,没有技术含量。
这同时也说明,jave确是一种生命力旺盛,容易使用的语言。
编写这些东西,并不能避免拷贝粘贴,也只是能够尽量少的去粘贴罢了。
更多相关文章
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- [置顶] android 如何在自定义对话框中获取edittext中的数据
- Android(安卓)开发中的架构模式 -- MVC / MVP / MVVM
- [置顶] Android(安卓)轻松实现仿QQ消息下拉刷新
- Android(安卓)SharedPreferences 首次运行引导界面
- Android(安卓)操作数据库Sqlite,数据写入到SD卡里面
- Android(安卓)使用sharedpreferences、ACache缓存用户名和密码