实现Android ListView 自动加载更多内容
研究了几个小时终于实现了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开始的)
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE
&& lastItemIndex == mGoodsAdapter.getCount() - 1) {
Log.i(TAG, "onScrollStateChanged");
//加载数据代码,此处省略了
}
}
//这三个int类型的参数可以自行Log打印一下就知道是什么意思了
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
//ListView 的FooterView也会算到visibleItemCount中去,所以要再减去一
lastItemIndex = firstVisibleItem + visibleItemCount - 1 -1;
}
});
很简单吧。看看实现的效果。
开始自动加载 加载完成
顺便鄙视一下CSDN这套万年不会更新的博客系统,尼玛太挫了吧。
实现Android ListView 自动加载更多内容的更多相关文章
- Android ListView 自动加载更多
Android ListView下拉刷新 ListView是我们经常用来展示数据的一个控件,但是由于我们手机的性能和流量的问题,往往我们从服务器中取数据,不能一次性将数据取出来,比如一个新闻的手机AP ...
- Jquery鼠标滚动到页面底部自动加载更多内容,使用分页
index.php代码 [html] view plaincopy <!DOCTYPE html PUBLIC ;} .single_item{padding: ...
- Jquery+php鼠标滚动到页面底部自动加载更多内容,使用分页
1.index.php <style type="text/css"> #container{margin:10px auto;width: 660px; border ...
- ListView下拉刷新,上拉自动加载更多
下拉刷新,Android中非常普遍的功能.为了方便便重写的ListView来实现下拉刷新,同时添加了上拉自动加载更多的功能.设计最初是参考开源中国的Android客户端源码.先看示例图. ...
- PHP+Ajax点击加载更多内容 -这个效果好,速度快,只能点击更多加载,不能滚动自动加载
这个效果好,速度快,只能点击更多加载,不能滚动自动加载 一.HTML部分 <div id="more"> <div class="single_item ...
- 基于JQuery实现滚动到页面底端时自动加载更多信息
基于JQuery实现滚动到页面底端时自动加载更多信息 关键代码: 代码如下: var stop=true; $(window).scroll(function(){ totalheight = par ...
- UWP-ListView到底部自动加载更多数据
原文:UWP-ListView到底部自动加载更多数据 ListView绑定的数据当需要“更多”时自动加载 ListView划到底部后,绑定的ObservableCollection列表数据需要加载的更 ...
- jQuery自动加载更多程序
1.1.1 摘要 现在,我们经常使用的微博.微信或其他应用都有异步加载功能,简而言之,就是我们在刷微博或微信时,移动到界面的顶端或低端后程序通过异步的方式进行加载数据,这种方式加快了数据的加载速度,由 ...
- jQuery自动加载更多程序(转)
jQuery自动加载更多程序 1.1.1 摘要 现在,我们经常使用的微博.微信或其他应用都有异步加载功能,简而言之,就是我们在刷微博或微信时,移动到界面的顶端或低端后程序通过异步的方式进行加载数据 ...
随机推荐
- 《生活在Linux中》之:使用Bash就是使用Emacs
定义bash Emacs模式下的快捷键请参考: Readline-在BASH下自定义键盘热键 未完待续...
- 与众不同 windows phone (4) - Launcher(启动器)
原文:与众不同 windows phone (4) - Launcher(启动器) [索引页][源码下载] 与众不同 windows phone (4) - Launcher(启动器) 作者:weba ...
- Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上)
原文:[置顶] Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上) 我们在用手机的时候可能会发现,即使应用被放到后台再返回到前台数据依然保留(比如说我们正在玩游戏,突然电话 ...
- Mac OS X将CSV格式转换为Excel文档格式,Excel转CSV中文乱码问题
一:在Mac上假设你使用Excel打开windows导出的CSV格式文档.你会发现表格中全部的的内容都显示在A列. 那么,怎样恢复正常呢,你能够将CSV格式的文档导入到Excel文档中,这样就正常显示 ...
- Java模拟POST表单提交HttpClient操作
public static void Login() { String url = "http://www.***.com/login"; PostMethod postMetho ...
- Webbrowser控件execcommand参数详解
2D-Position 允许通过拖曳移动绝对定位的对象.AbsolutePosition 设定元素的 position 属性为“absolute”(绝对).BackColor 设置或获取当前选中区的背 ...
- Java 5种字符串拼接方式性能比较。
最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,于是用Junit写了个单元测试. 代码如下: import java.util.ArrayList; import java.uti ...
- ZOJ 3542 2011大连现场赛D题(简单模拟)
Hexadecimal View Time Limit: 2 Seconds Memory Limit: 65536 KB Hexadecimal is very important an ...
- UVa 10286 - Trouble with a Pentagon
题目:如图在正五边形中画一个正方形,一直正五边形边长,求正方形边长. 分析:计算几何,解析几何.求出边长的比例关系带入求解就可以. 设正五边形边长为1,在顶点建立直角坐标系,则左上角坐标为:B(-co ...
- Android开发周报:Android L默认加密用户数据
Android开发周报:Android L默认加密用户数据 新闻 <iCloud前车之鉴,Android L默认开启加密功能>:iCloud 艳照风波再起,第二波女星照片流出,大量女星的裸 ...