手把手教你如何搭建一个自己的安卓快速开发框架之带你做自己的APP(四) (2)

这里写图片描述

看图,在这个页面中,包含了以下几个要点:

recycleview 的下拉刷新

recycleview 的右移动画

Activity 和 Fragment 积极通信

单选、多选、全选删除动作

litepal 增删改查

你有没有注意到,在上个页面,我们的右下角有个浮动按钮,点击是这样的效果:

这里写图片描述

噢,是将这个订单标记为已签收或者未签收状态,所以,我们还用到了数据库。

这里写图片描述

头大,但是也得看下去!

首先,我们有这样一个model:

public class OrderInfoLitePal extends DataSupport { int id; String nu; String com; String state; String time; boolean isselect; public int getId() { return id; } public void setId(int id) { this.id = id; } ............................

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

isselect 字段的目的是为了解决 checkbox 状态错乱的问题。

extends DataSupport 是 litepal 所需,id 是每条数据的 Id,后面会方便删除。

1. 先来看下拉刷新:

下拉刷新我们用到了这个库 pullrefreshlayout

用法如下:

swipeRefreshLayoutOrderall.setOnRefreshListener(new PullRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { swipeRefreshLayoutOrderall.post(new Runnable() { @Override public void run() { QueryData(); notifydata(); swipeRefreshLayoutOrderall.setRefreshing(false); } }); } });

1

2

3

4

5

6

7

8

9

10

11

12

13

1

2

3

4

5

6

7

8

9

10

11

12

13

2. 衔接上,下面是数据库查询操作 :

使用 findAll 方法查一遍数据库,更新 list,再刷新视图即可。

/** * 避免调用notify失败 */ public void QueryData() { list.clear(); List<OrderInfoLitePal> lists=new ArrayList<OrderInfoLitePal>(); lists= DataSupport.findAll(OrderInfoLitePal.class); list.addAll(lists); }

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

为了避免调用 notifyDataSetChanged 失败,采用上面的办法。

lists= DataSupport.findAll(OrderInfoLitePal.class);

1

1

这句代码即为查询数据库中 表名为 OrderInfoLitePal 的所有数据。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgsgd.html