android listview动态加载数据,ListView动态加载数据

当ListView数据量大时,为提升用户体验,需要实现动态加载。通过在`onScroll`方法中判断是否滑动到底部,并启动新线程加载更多数据。使用SQLite查询LIMIT和OFFSET实现分页,加载数据后更新ListView。
摘要由CSDN通过智能技术生成

当listview需要加载的数据过多时,若一次性载入则速度会相当缓慢,影响用户体验,这时候就需要动态加载数据,即每次载入固定长度的数据,android market的listview就是采用这种方式,使得加载看起来很平滑,响应速度很快,有助于提高用户体验。

首先,要实现动态加载首先需要在获取数据时每次在上次获取到的数据之后的位置开始取得固定长度的数据,可通过"select * from TableName LIMIT m OFFSET n"语句实现,其中m是要取得数据的长度,n是数据的偏移量。

然后,在Activity中需要重写listview的onScroll方法,在onScroll中添加判断条件,当上一次加载的数据显示完并滑动到底部之后需要再次获取数据,可以在UI Thread中在开启一个线程去加载数据,加载数据时应弹出一个试图提示用户正在加载。

最后,加载数据的线程处理完毕后,刷新ListView。

以下是实现动态加载的主要步骤:

//加载数据的方法

privatevoidfillAdapter(intcount,intbegin) {

// TODO Auto-generated method stub

SQLiteOpenHelper mSQLiteOpenHelper = newSQLiteOpenHelper (

this);

Cursor c= mSQLiteOpenHelper .getDynamicListViewData(count, offset);

}

//监听listview的onScroll方法

OnScrollListener listScroll 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值