private void initRefresh()
{
/*
* Mode.BOTH:同时支持上拉下拉
* Mode.PULL_FROM_START:只支持下拉Pulling Down
* Mode.PULL_FROM_END:只支持上拉Pulling Up
* Mode.DISABLED:禁用下拉刷新和上拉加载
* Mode.MANUAL_REFRESH_ONLY:只允许手动触发
*/
/*
* 如果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_END的时候只调用onPullUpToRefresh()方法.
* 我一般用OnRefreshListener2,因为分工比较清楚
*/
mPullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);
/*
* getLoadingLayoutProxy(final boolean includeStart, final boolean includeEnd)
* 用于指定显示的标签,第一个是改变头部,第二个是改变底部
*/
ILoadingLayout startLoading = mPullToRefreshListView.getLoadingLayoutProxy(
true, false);
startLoading.setPullLabel("下拉刷新");// 刚下拉时显示的提示
startLoading.setRefreshingLabel("拼命刷新中...");// 刷新时显示的提示
startLoading.setReleaseLabel("释放即可刷新");// 下拉达到一定距离时显示的提示
ILoadingLayout endLoading = mPullToRefreshListView.getLoadingLayoutProxy(false,
true);
endLoading.setPullLabel("上拉加载更多");// 刚上拉时显示的提示
endLoading.setRefreshingLabel("拼命加载中...");// 加载时的提示
endLoading.setReleaseLabel("释放即可加载");// 上拉达到一定距离时显示的提示
mPullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2()
{
// 下拉刷新
@Override
public void onPullDownToRefresh(PullToRefreshBaserefreshView)
{
// 设置一秒后停止刷新(本地设置假数据,时间太短,会导致数据更新后,依旧显示刷新中)
mPullToRefreshListView.postDelayed(new Runnable()
{
@Override
public void run()
{
// 停止刷新
mPullToRefreshListView.onRefreshComplete();
// 加载数据
initDownLv();
// 刷新适配器中的数据
myAdapter.notifyDataSetChanged();
}
}, 1000);
}
// 上拉加载更多
@Override
public void onPullUpToRefresh(PullToRefreshBaserefreshView)
{
// 设置一秒后停止刷新(本地设置假数据,时间太短,会导致数据更新后,依旧显示刷新中)
mPullToRefreshListView.postDelayed(new Runnable()
{
@Override
public void run()
{
// 停止刷新
mPullToRefreshListView.onRefreshComplete();
// 加载数据
initUpLv();
// 刷新适配器中的数据
myAdapter.notifyDataSetChanged();
}
}, 1000);
}
});
}