移动互联培训

您当前的位置:移动互联培训 > Android开发 >

ListView刷新教程:ListView实现数据动态刷新

来源:Android开发学习网 2017-04-06

在Android开发中用到ListView时,经常遇到需要listview刷新来实现更改ListView内容的情形,比如删除或增加ListView中显示的条目,那么如何实现ListView数据刷新呢?

ListView刷新教程:ListView实现数据动态刷新
ListView刷新教程:ListView实现数据动态刷新

ListView刷新简介

ListView是一个经常用到的控件,ListView里面的每个子项Item可以使一个字符串,也可以是一个组合控件。先说说ListView的实现:

1.准备ListView要显示的数据 ;

2.使用一维或多维动态数组保存数据;

2.构建适配器,简单地来说,适配器就是Item数组,动态数组,有多少元素就生成多少个Item;

3.把适配器添加到ListView,并显示出来。

ListView数据动态刷新实现

这里给大家提供一下思路:不论ListView要显示的对象是什么(如:Cursor或Array或List),要实现ListView数据刷新,都要手动去更改要显示的数据对象,然后调用相应的方法(如:requery()或notifyDataSetChanged())来刷新ListView。针对不同的情形,下面给出相应解决办法的关键代码:

1.用ListView来显示数据库的数据时,经常会用到SimpleCursorAdapter来作为ListView的适配器,这时要用到Cursor来访问数据库,当数据库数据发生改变时,需要通过cursor.requery()方法来更新ListView。注:这个方法在API11以后被废弃了,原因是执行该方法是会查询数据库,如果查询动作是在主线程(UI线程)中完成的,由于查询过程要耗一定时间,所以有可能引起ANR。可以通过重新获取一个新的cursor来解决这个问题。

2.当ListView显示的数据时通过Array或者List传入的时候,要实现ListView数据的更新,就要手动来更改Array或者List,

以List为例,要调用list.add()或者list.remove()方法来增加或删除数据。然后再调用adapter.notifyDataSetChanged()来更新显示数据。

listview如何刷新数据呢?总的来说,要实现ListView数据刷新,实质是实现对应的Adapter中显示数据的更新。而要实现Adapter数据更新,就要自己手动来完成对应数据的更改,如上面提到的requery()或者list.add()、list.remove()等,然后再调用adapter的notifyDataSetChanged()方法来实现ListView刷新。

以上就是对ListView实现数据动态刷新的讲解,更多Android开发相关内容请持续关注我们。

400-611-6270

Copyright ©2004-2018 华清远见教育科技集团 版权所有
京ICP备16055225号,京公海网安备11010802025203号