- 查看官方源码 链接Github 地址
源码图片:
使用Android-PullToRefresh的PullToRefreshScrollView,想在第一次进入的时候显示正在加载设置了setRefreshing(true);但是他没有加载数据
- 发现api 上 有两个方法满足需求一个是:
public void setRefreshing();
/**
* Sets the Widget to be in the refresh state. The UI will be updated to
* show the ‘Refreshing‘ view.
*
* @param doScroll - true if you want to force a scroll to the Refreshing
* view.
*/
我果断使用第一个方法发现不行 ,后来发现群上其他的人在做网易新闻客户端时,处理过这个问题。但是也不是很好的处理办法,
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mPullToRefreshScrollView.setRefreshing();
}
}, 3000);
但是这不是最好的处理办法,我把源码翻遍,也只得到一些还不知道是否正确的结论,是说还未获取到顶部下拉刷新的高度,适当的延时即可。
因为我的项目中我使用的是androidannotations 开发,所以,我结合以上的思路,自己修改了我的代码逻辑,实现如下
@UiThread(delay = 1000)
void setRefrsh() {
mScrollView.setRefreshing(true);
}
@Override
public void onResume() {
super.onResume();
setRefrsh();
}
需要注意的是需要 实现
mScrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ScrollView>() {
@Override
public void onRefresh(PullToRefreshBase<ScrollView> refreshView) {
getUserInfo();
}
});
要在获取数据完成后再次调用 :
mScrollView.onRefreshComplete();
即可实现!
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/u010350809/article/details/46807267