常见的单据历史,或称为单据列表有如下展示方式:

图1:单据列表
外层是一个RecyclerView,看一下里面的单据:

图2:单据结构
一个单据包含两部分数据,上面红框里面的为单据的汇总信息,称为台头数据;下面的绿框部分为数量不定的明细信息,称为项目数据。
可以看出,只要把单据封装好,然后通过RecyclerView展示就可以了。单据包括数据模型和布局两部分,也就是Modle和View。
- 单据的数据模型:单据的数据可以由CItemDataGroupItem或COrderData对象容纳,这两种对象都包含台头数据和项目数据,具体使用哪个看具体的程序实现方式。
- 下面详细说说单据的视图模型实现方式:
先看看XML布局文件结构:

上面的布局为台头数据,下面用一个NestListView容纳项目数据。然后在item目录下建立一个从Java类

并在构造函数中调用函数initView,函数具体实现如下:

可以看出,该函数主要是从布局文件Inflate成UI视图并初始化成员变量。然后添加一个成员函数setData用来与数据绑定,如下:

该函数用来绑定数据到布局,并且为NestListView的适配器绑定数据。适配器参考CMmbeItemAdapter,项目数据需要一个单独的布局文件item_modnr_color_data.xml,在适配器中inflate,具体参考代码。
以上可以看出,一个单据需要如下:
- 两个Java类:单据类和适配器类
- 两个布局:单据布局和项目布局