关闭

Android-PullToRefresh实现进入自动刷新

标签: 数据显示源码android设置
2461人阅读 评论(0) 收藏 举报
分类:

PullToRefreshScrollView实现自动刷新

  1. 查看官方源码 链接Github 地址
    源码图片:

目的:

使用Android-PullToRefresh的PullToRefreshScrollView,想在第一次进入的时候显示正在加载设置了setRefreshing(true);但是他没有加载数据

  1. 发现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();    

即可实现!

0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人Github连接地址
    个人资料
    • 访问:257350次
    • 积分:2721
    • 等级:
    • 排名:第13229名
    • 原创:69篇
    • 转载:8篇
    • 译文:0篇
    • 评论:13条
    博客专栏
    最新评论
    个人链接
    欢迎访问我的博客