研究了几个小时终于实现了Android ListView 自动加载的效果。

说说我是怎样实现的。分享给大家。

1、给ListView增加一个FooterView,调用addFooterView(footer)这个方法。

2、给ListView设置OnScrollListener监听器。

3、实现OnScollListener的onScroll和onScrollStateChanged这两个方法。

4、然后判断是否满足条件。满足条件就自动加载。

下面结合代码来更容易理解。

mListView.setOnScrollListener(new OnScrollListener() {private int lastItemIndex;//当前ListView中最后一个Item的索引//当ListView不在滚动,并且ListView的最后一项的索引等于adapter的项数减一时则自动加载(因为索引是从0开始的)@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {if (scrollState == OnScrollListener.SCROLL_STATE_IDLE&& lastItemIndex == mGoodsAdapter.getCount() - 1) {Log.i(TAG, "onScrollStateChanged");//加载数据代码,此处省略了}}//这三个int类型的参数可以自行Log打印一下就知道是什么意思了@Overridepublic void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {//ListView 的FooterView也会算到visibleItemCount中去,所以要再减去一lastItemIndex = firstVisibleItem + visibleItemCount - 1 -1;}});


很简单吧。看看实现的效果。


开始自动加载 加载完成


顺便鄙视一下CSDN这套万年不会更新的博客系统,尼玛太挫了吧。








更多相关文章

  1. BroadcastReceiver实现android来去电录音功能(外录)
  2. android 检查网络连接状态实现步骤
  3. android实现获取有线和无线Ip地址的方法
  4. Android(安卓)实现沉浸式只需一行代码
  5. 高德天气应用开发之四:android ViewPager实现左右页面滑动切换
  6. 转- ADB(Android(安卓)Debug Bridge)技术实现
  7. Android:实现一种浮动选择菜单的效果
  8. Android实现系统下拉栏的消息提示——Notification
  9. 浅谈Java中Collections.sort对List排序的两种方法

随机推荐

  1. 急,mysql大数据量性能优化
  2. MYSQL查询语句:排名在第3名的成绩是多少?
  3. mysql通用二进制格式安装
  4. 【mysql】mysql中的锁机制
  5. MySQL-InnoDB的事务日志
  6. 更新mysql中的自动增量列+1?
  7. 8.2.1.2-MySQL如何优化 WHERE 语句
  8. 与Virtualhost Homestead相比,Localhost M
  9. ORACLE 分页SQL语句
  10. 如何在单个列上执行和操作?