前言:
前段时间用到了pulltorefresh做列表控件的刷新,项目里需要使用到下拉刷新和上拉加载更多。
实际上很简单,只要使用监听类OnRefreshListener2,实现2个回调方法onPullDownToRefresh()以及 onPullUpToRefresh() 就可以了
关键代码:
这是PullRefreshListView的上拉下拉,PullRefreshGridView也是一样的。
mPullRefreshListView
.setOnRefreshListener(new OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
onRefresh();//下拉刷新的操作
}
@Override
public void onPullUpToRefresh(
PullToRefreshBase<ListView> refreshView) {
onLoadMore();//上拉加载更多的操作
}
});
这里贴出pulltorefresh完整配置的代码:
private ListView mLvContent; // XListView
private PullToRefreshListView mPullRefreshListView;
private ILoadingLayout startLabels;
private ILoadingLayout endLabels;
...
mPullRefreshListView = (PullToRefreshListView) focusView
.findViewById(R.id.pull_refresh_list);
mPullRefreshListView.setMode(Mode.BOTH);
startLabels = mPullRefreshListView.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新...");// 刚下拉时,显示的提示
startLabels.setRefreshingLabel("加载中...");// 刷新时
startLabels.setReleaseLabel("放开以刷新...");// 下来达到一定距离时,显示的提示
endLabels = mPullRefreshListView.getLoadingLayoutProxy(false, true);
endLabels.setPullLabel("上拉刷新...");// 刚上拉时,显示的提示
endLabels.setRefreshingLabel("正在加载更多...");// 刷新时
endLabels.setReleaseLabel("放开以刷新...");// 下来达到一定距离时,显示的提示
endLabels.setLoadingDrawable(null);
mLvContent = mPullRefreshListView.getRefreshableView();
mLvContent.setOnScrollListener(new PauseOnScrollListener(ImageLoader
.getInstance(), true, true));//滑动时不加载图片,Universal-Image-Loader框架的类
// Set a listener to be invoked when the list should be refreshed.
mPullRefreshListView
.setOnRefreshListener(new OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
onRefresh();
}
@Override
public void onPullUpToRefresh(
PullToRefreshBase<ListView> refreshView) {
onLoadMore();
}
});