Android中ListView上拉加载更多及下拉刷新
发布时间:2020-05-24 18:39:31 所属栏目:Java 来源:互联网
导读:Android中ListView上拉加载更多及下拉刷新
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 privatePullToRefreshListView freshListView;
privateBeforeRecordAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.......);
freshListView= (PullToRefreshListView) findViewById(R.id.period_record_lv);//所在页面布局文件中对应PullToRefreshListView
freshListView.setMode(Mode.BOTH);//模式为上下拉
/*
* Mode.BOTH:同时支持上拉下拉
*Mode.PULL_FROM_START:只支持下拉Pulling Down
*Mode.PULL_FROM_END:只支持上拉Pulling Up
* 如果Mode设置成Mode.BOTH,需要设置刷新Listener为OnRefreshListener2,并实现 onPullDownToRefresh()、onPullUpToRefresh()两个方法。
* 如果Mode设置成Mode.PULL_FROM_START或Mode.PULL_FROM_END,需要设置刷新Listener为OnRefreshListener,同时实现onRefresh()方法。
* 当然也可以设置为OnRefreshListener2,但是Mode.PULL_FROM_START的时候只调用onPullDownToRefresh()方法,
* Mode.PULL_FROM的时候只调用onPullUpToRefresh()方法.
*/
freshListView.setOnRefreshListener(newOnRefreshListener2<ListView>() {
@Override
public voidonPullDownToRefresh(PullToRefreshBase<ListView> arg0) {
//下拉刷新实现
CURRENT_PAGE= 1;//分页加载,下拉刷新的都是第1页的数据
getData();//从服务器取数据
}
@Override
public voidonPullUpToRefresh(PullToRefreshBase<ListView> arg0) {
//上拉加载更多
CURRENT_PAGE++;//分页加载,上拉加载下一页面数据
getData();//从服务器取数据
}
});
adapter = new BeforeRecordAdapter(this);//适配器
freshListView.setAdapter(adapter);//设置数据
freshListView.setOnItemClickListener(beforeItemClick);//item点击事件
}
//加载服务器数据,或是自己构造数据
privatevoid getData(){
//首先是获取到请求的数据,计算出数据的数量totalSize
//然后根据totalSize来判断freshListView应该处理哪种模式,比如数据加载完了就不能再上拉刷新
if(totalSize == 0) {
freshListView.setMode(Mode.DISABLED);
} else if (adapter.getCount() >= totalSize) {
freshListView.setMode(Mode.PULL_FROM_START);
} else {
freshListView.setMode(Mode.BOTH);
}
freshListView.onRefreshComplete();
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
