Android-PullToRefresh-master使用心得

倪培
2023-12-01

   关于上拉下拉加载,网络上使用很多的是国外大神发布的Android-PullToRefresh,确实方便很多,现在来谈谈使用心得:


1:源码下载:https://github.com/chrisbanes/Android-PullToRefresh


2:环境配置:

将压缩文件解压后, 把\Android-PullToRefresh-master 下的library拷贝到和主工程同一目录。

在主工程中的project.properties中追加:android.library.reference.1=../library/

3:代码修改:

①,将xml中<listview修改为:<com.handmark.pulltorefresh.library.PullToRefreshListView

②,将java中原listview的OnScrollListener删除

③,修改源码:在PullToRefreshBase最后追加:

public boolean isHeaderShown() {
return getHeaderLayout().isShown();
}
public boolean isFooterShown() {
return getFooterLayout().isShown();
}

③,在java中添加OnRefreshListener,并实现其onRefresh方法,用isFooterShown方法判断是否到了上拉加载更多的情况,并实现加载下一页的业务代码。

@Override
public void onRefresh(PullToRefreshBase refreshView) {
if (refreshView.isFooterShown()) {
if (!mIsRefreshing) {
mIsRefreshing = true;
// 上拉加载更多 
mPageIndex++;
startGetData();
} else {
mListView.onRefreshComplete();
}
}
 

④,加载完后调用onRefreshComplete方法关闭加载中的显示。

⑤,使用setMode方法设置是否支持headview,footview或者两者都支持


 值得注意的地方:有的时候可能会发生mListView.onRefreshComplete()无效的情况,这是因为上拉加载和关闭刷新时间太短,延迟一秒即可:

mListView.postDelayed(new Runnable() {
           @Override
           public void run() {
               mListView.onRefreshComplete();
           }
       }, 1000);


 类似资料: