谈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或者里面的界面元素激发事件

         数据同步,正在加载数据的时候不允许重新请求数据

 

解决:

 

 

而实际上,使用者关心的内容并不多,使用输入输出可以看得很清楚。

谈Android中对ListView,RecycleView应用的简化

一个列表必须要做的:

  1. 列表显示流程语句
  2. listitem的布局(xml)
  3. 数据处理:获取数据列表
  4. 下拉刷新和加载更多的事件回调
  5. 点击ViewHolder或者里面的界面元素激发事件回调

 

这里就用xlist为例,看一下对列表扩展和简化的一些想法思路。

 

调用页面XListActivity

 

谈Android中对ListView,RecycleView应用的简化

 

点击列表项BookListItem

 

谈Android中对ListView,RecycleView应用的简化

再加上一个布局list_item_book

 

谈Android中对ListView,RecycleView应用的简化

 

最后

 

Android程序做的越多,越感觉越像是在搬砖头,没有技术含量。

这同时也说明,jave确是一种生命力旺盛,容易使用的语言。

 

编写这些东西,并不能避免拷贝粘贴,也只是能够尽量少的去粘贴罢了。