PushToRefresh是一个开源项目,开源项地址:https://github.com/chrisbanes/Android-PullToRefresh
网上的关于它的使用说明很多,在此略过,本文只说明一个使用要点:手动下拉刷新
在很多的情况下,我们需要通过代码调用模拟下拉刷新的动作。其实PullToRefresh底层已经提供了一个这样的方法--setRefreshing()。但在实际使用的时候,比如在UI的onCreate中即调用setRefreshing(),结果能不触发已经注册好的监听(setOnRefreshListener),debug之后发现,调用此方法的时候,底层mInnerLayout.getHeight()返回的高度为0,于是猜测UI初始化需要时间,在onCreate的调用加入了延迟调用:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mPullRefreshListView.setRefreshing();
}
}, 100);
果然得到想到的效果。