使用SwipeRefreshLayout自动刷新页面

首先我们要给SwipeRefreshLayout设置一个listener,最好这样设置: SwipeRefreshLayout.setOnRefreshListener(this);

然后让Activity实现onRefresh()方法:

   @Override
    public void onRefresh() {
        //在这里访问网络,获取数据
        loadData();
    }

在oncreate()方法里打开SwipeRefreshLayout:

SwipeRefreshLayout.post(new Runnable() {
            @Override
            public void run() {
            //这行代码并不会触发onRefresh
               SwipeRefreshLayout.setRefreshing(true);
                //必须手动调用
                onRefresh();
            }
 });

特别注意: SwipeRefreshLayout.setRefreshing(true);这行代码并不会触发onRefresh

在合适的地方关闭SwipeRefreshLayout,也需要这么做:

SwipeRefreshLayout.post(new Runnable() {
                    @Override
                    public void run() {
                        //必须这样关闭
                                         SwipeRefreshLayout.setRefreshing(false);
                    }
});

如果这样就完事,那可不行哦。
通常状况是:在刚打开页面的时候先展示本地缓存的数据,然后再去请求网络数据,请求成功后展示新数据。嗯。

你可能感兴趣的:(android小知识点)