编者:李国帅

qq:9611153 微信lgs9611153

时间:2020-7-17

背景:

数据列表的展示在任何应用中都是重要的内容,android的列表类无外乎ListView,RecycleView,GridView,但是它们使用起来有些局限,于是就出现无数继承它们的列表类,用来实现下拉,拖动,手势等功能。

 

有些列表操作很复杂,但这根本就不是程序员们想要的。如果一个列表使用几百行代码,恐怕几十个表的项目,仅仅在列表部分,复制粘贴恐怕都要超过上万行代码。

 

也许我只是想显示简单一下数据,但是看上去很复杂。这代码的集成方面,JAVA和Android的搭配还真是绝配,其在自定义控件的制作,界面的展示,模块的集成方面,是从vc过来的人难以想象的。

 

问题描述:

粗看起来,要实现一个list显示,需要考虑很多方面:

         数据处理:获取数据列表

         加载list到相关布局,以及list的属性

         listitem的布局

         相关adapter以及ViewHolder

         把数据列表的数据填充到ViewHolder

         下拉刷新和加载更多,以便获取数据(可能和ScrollView冲突)(记录查询位置)

         点击ViewHolder或者里面的界面元素激发事件

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

 

解决:

 

 

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

一个列表必须要做的:

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

 

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

 

调用页面XListActivity

 

 

点击列表项BookListItem

 

再加上一个布局list_item_book

 

 

最后

 

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

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

 

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

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. [置顶] android 如何在自定义对话框中获取edittext中的数据
  5. Android(安卓)开发中的架构模式 -- MVC / MVP / MVVM
  6. [置顶] Android(安卓)轻松实现仿QQ消息下拉刷新
  7. Android(安卓)SharedPreferences 首次运行引导界面
  8. Android(安卓)操作数据库Sqlite,数据写入到SD卡里面
  9. Android(安卓)使用sharedpreferences、ACache缓存用户名和密码

随机推荐

  1. android UI进阶之style和theme的使用
  2. 图文并茂的android之SpannableString
  3. 使用谷歌提供的支持库(Android)
  4. android之图像处理、缩放、修改图片、绘
  5. 在eclipse中查看android源码
  6. android设置Activity背景色为透明的3种方
  7. android Java开发设计模式及在android中
  8. Android中关于Volley的使用(一)加载图片
  9. Android 开发者的 Flutter(三) —— Flutte
  10. Android P 开发者预览版 · 操作指南