1.设置上拉和下拉
listview.setMode(Mode.BOTH);
2.提示文字
listview.getLoadingLayoutProxy(false, true).setPullLabel("加载成功");
listview.getLoadingLayoutProxy(false, true).setRefreshingLabel("放开以加载");
listview.getLoadingLayoutProxy(false, true).setReleaseLabel("上拉加载更多");
listview.getLoadingLayoutProxy(false, true).setLastUpdatedLabel("");
listview.getLoadingLayoutProxy(true, false).setPullLabel("刷新成功");
listview.getLoadingLayoutProxy(true, false).setRefreshingLabel("放开以刷新");
listview.getLoadingLayoutProxy(true, false).setReleaseLabel("下拉刷新");
listview.getLoadingLayoutProxy(true, false).setLastUpdatedLabel("");
3.pull的距离
//PullToRefreshBase 中有一个变量,默认是屏幕的1/2,感觉太长了,改成了
static
final
float
FRICTION =
3
.0f;
//上拉和下拉的最大距离 1/3
4.判断是上拉下拉
方法一
网上有的同学是用onScrollListener来判断,这样并不严谨,我依靠是header还是footer处于可见状态来区分下拉和上拉,如果是下拉,那header一 定是可见的;反之,footer一定是可见的。
但是PullToRefreshExpandableListView并没有提供这样的接口,那我们就来小改一下我们引入的工程吧,很简单:
找到包“com.handmark.pulltorefresh.library”下的PullToRefreshAdapterViewBase.java这个类,加入两个新接口:
public boolean isHeaderShown() {
return getHeaderLayout().isShown();
}
public boolean isFooterShown() {
return getFooterLayout().isShown();
}
方法二
if
(PullToRefreshBase.Mode.PULL_FROM_START == mPullRefreshListView.getCurrentMode()) {
onRefresh();
}
else
if
(PullToRefreshBase.Mode.PULL_FROM_END == mPullRefreshListView.getCurrentMode()){
onLoadMore();
}