Android实现微博下拉刷新上拉加载更多功能

赵嘉赐
2023-12-01

今天要做一个类似微博列表的功能,主要是实现下拉可以获取更多新内容,上拉获取更早的内容,在网上看了一些资料,比较靠谱的是github上的 PushtoRefresh项目,可以直接作为类库项目引入到自己的项目中,但是看到网上的文章大部分都是用了其中的单独下拉的功能而没有使用上拉加载更早的内容的功能,终于看到一篇文章一语惊醒梦中人,文章链接是http://blog.csdn.net/flybywind/article/details/8977734,简单说下步骤:

1.从github上把项目下载下来,并且导入自己的开发环境(例如:eclipse),然后在自己的项目中将pushtorefresh作为一个library引入到项目中

2.在xml中引用com.handmark.pulltorefresh.library.PullToRefreshListView,并在Activity中初始化

3.mPullToRefreshListView.setMode(Mode.BOTH);

4.最重要的环节来了,如果要同时实现下拉刷新,上拉加载更多需要调用

mPullToRefreshListView.setOnRefreshListener(new OnRefreshListener2(){
@Override
public void onPullDownToRefresh(PullToRefreshBase refreshView){
Log.i(TAG, "onPullDownToRefresh");
pushDirection = 1;
getDataAPI();
}


@Override
public void onPullUpToRefresh(PullToRefreshBase refreshView) {
Log.i(TAG, "onPullUpToRefresh");
pushDirection = -1;
getDataAPI();
}
});

这样onPullDownToRefresh就实现下拉刷新,onPullUpToRefresh实现上拉加载更多,很多文章中都是设置OnRefreshListener而不是OnRefreshListener,我自己也是困在这里好久,后来看了上面的文章才豁然开朗,除了这个坑之外,还有一个坑就是在当你获取数据之后要调用mPullToRefreshListView.onRefreshComplete();来完成刷新操作,隐藏下拉或者上拉时出现的loadingView.

另外上面的文章中也提到了github上这个项目的作者有个简单的使用向导也非常的有帮助,可以仔细研究下,链接是https://github.com/chrisbanes/Android-PullToRefresh/wiki/Quick-Start-Guide


 类似资料: