使用SwipeRefreshLayout自动刷新页面

来源:互联网 发布:日语网络用语 ggk 编辑:程序博客网 时间:2024/06/08 02:05

首先我们要给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);                    }});

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

1 0
原创粉丝点击