Ultra-Pull-To-Refresh上拉加载的使用

下拉加载

Ultra-Pull-To-Refresh

地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh

随后就是增加上拉加载的版本

Ultra-Pull-To-Refresh-With-Load-More

地址:https://github.com/captainbupt/android-Ultra-Pull-To-Refresh-With-Load-More

其实资料以及比较完善了,我只是补充一下在使用上拉加载的时候可能遇到的问题,就是Ultra-Pull-To-Refresh-With-Load-More的使用

一.jar包的引用

1.可以使用gradle添加到项目中

compile 'in.srain.cube:ptr-load-more:1.0.2’

选择最新版本即可
2.在github上下载源码讲ptr-lib作为依赖添加到项目中,方便eclipse使用

二.使用方法几乎与Ultra-Pull-To-Refresh一样,首先配置到xml的布局文件中,使用RecyclerView做事例





    


三.代码块

mPtrFrame.setPtrHandler(new PtrDefaultHandler2() {
        @Override
        public void onLoadMoreBegin(final PtrFrameLayout frame) {
            mPtrFrame.postDelayed(new Runnable() {
                @Override
                public void run() {

                    frame.refreshComplete();
                }
            }, 1000);
        }

        @Override
        public void onRefreshBegin(final PtrFrameLayout frame) {
            mPtrFrame.postDelayed(new Runnable() {
                @Override
                public void run() {

                    frame.refreshComplete();
                }
            }, 1000);
        }
    });

    // the following are default settings
    mPtrFrame.setResistance(1.7f);
    mPtrFrame.setRatioOfHeaderHeightToRefresh(1.2f);
    mPtrFrame.setDurationToClose(200);
    mPtrFrame.setDurationToCloseHeader(1000);
    // default is false
    mPtrFrame.setPullToRefresh(false);
    // default is true
    mPtrFrame.setKeepHeaderWhenRefresh(true);
    mPtrFrame.postDelayed(new Runnable() {
        @Override
        public void run() {

            mPtrFrame.autoRefresh();
        }
    }, 100);

四,这里主要说一下这个方法mPtrFrame.setPtrHandler()

参考源码可以看到里面是hanlder的回调,这个方法不仅作为数据加载处理的回调,同样,因为我们使用的是一个支持上拉加载的修改过的库,所以和原库的回调有区别
你的回调决定了你的模式,之前在这里浪费了很多时间,就是没有上拉的功能

上拉下拉均有的模式:

mPtrFrame.setPtrHandler(new PtrDefaultHandler2() {
        //重写方法忽略
}

只有下拉的模式:

mPtrFrame.setPtrHandler(new PtrDefaultHandler() {
        //重写方法忽略
}

其他的方法就不一一列举了,容易出问题的地方就是这里,你的回调决定了你的上拉与下拉的支持与否
具体的实现上拉的逻辑详细请看这里,
http://blog.csdn.net/hwz2311245/article/details/48749873#comments

你可能感兴趣的:(框架使用分享)