码迷,mamicode.com
首页 > 其他好文 > 详细

ListView数据动态刷新

时间:2015-05-06 18:05:46      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:


       在Android开发中用到ListView时,经常遇到要更改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数据的更新,实质是实现对应的Adapter中显示数据的更新。而要实现Adapter数据更新,就要自己手动来完成对应数据的更改,如上面提到的requery()或者list.add()、list.remove()等,然后再调用adapter的notifyDataSetChanged()方法来实现ListView的刷新。

ListView数据动态刷新

标签:

原文地址:http://blog.csdn.net/leaning_wk/article/details/45535853

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!