ListView分页加载

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lixiaoshuai_91/article/details/52186856
在很多App应用里面我们可以看到好多ListView都用到了下拉上拉刷新功能,可能大家都会想到第三方框架PullToRefresh,今天我就在这里给大家说说刷新的原理,使用原生态的ListView实现刷新功能
为了我们更好的使用,这里可以自定义一个ListView(MyListView),实现他的监听方法 代码如下:
public class MyListView extends ListView implements OnScrollListener { 
实现三个构造方法,在MyListViw的最下或最上添加一个ProgressBar,用来提示正在加载界面
View v = from.inflate(R.layout.listview_progressbar, null, false);// 得到一个View
    ll = (LinearLayout) v.findViewById(R.id.ll_id);
    this.addFooterView(v);// 把这View添加到自定义的ListView里
    ll.setVisibility(View.GONE);// 隐藏这个View
实现MyListView的监听事件this.setOnScrollListener(this);
最后用接口回掉的逻辑来实现对监听结果的处理
下面我在介绍下监听事件的主要逻辑
public void onScrollStateChanged(AbsListView view, int scrollState) {// scrollState是当前的状态
我们在这监听状态的方法里写我们逻辑接口
首先要判断当前状态,
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {// 当ListView是空闲状态时
        if (mTotalItemCount == mZongji) {//当屏幕第一个条目和最大显示条目之和等于所有条目时,就是到底部了
        如果以上判断都通过,那么就运行接口回掉的方法
 * firstVisibleItem是显示在屏幕上第一个条目的索引 visibleItemCount屏幕上可见的条目数(最大能显示多少条目)
 * totalItemCount 总共的条目数
public void onScroll(AbsListView view, int firstVisibleItem,
        int visibleItemCount, int totalItemCount) {

以上所写只是逻辑,具体代码有需要的亲联系我;

猜你喜欢

转载自blog.csdn.net/lixiaoshuai_91/article/details/52186856