SwipeRefreshLayout自动刷新的问题

在用SwipeRefreshLayout刷新页面的时候,发现如果进页面的时候,直接使用SwipeRefreshLayout的自动刷新,比自己写一个loading更简单而且美观。

自动刷新效果如下:

于是自己就开始在初始化的时候,调用

mSwipeRefreshLayout.setRefreshing(true);

但是发现没有任何效果。

百度一下发现,如果要实现SwipeRefreshLayout的自动刷新,需要这样实现

        mSwipeRefreshLayout.post(new Runnable() {

            @Override
            public void run() {
                    mSwipeRefreshLayout.setRefreshing(true);
            }
        });

自动关闭的时候也使用

        mSwipeRefreshLayout.post(new Runnable() {

            @Override
            public void run() {
                    mSwipeRefreshLayout.setRefreshing(false);
            }
        });

注明一点,这里的setRefreshing方法,不会执行onRefresh那个回调方法,只是会出现那个旋转的动画而已,所以一开始如果要自动刷新,必须在使用完这个方法后,自己手动更新数据。

你可能感兴趣的:(自动刷新)