我研究了如何以编程方式启动Android SwipeRefreshLayout。
我发现website在其中说明了如何执行此操作。

这是我开始动画的代码:

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


现在,我想在加载数据时停止SwipeRefreshLayout的动画。

代码

mSwipeRefreshLayout.setRefreshing(false);


对我不起作用。

有人知道吗?

最佳答案

mSwipeRefreshLayout.setRefreshing(true);似乎不会触发onRefresh()侦听器。它仅显示动画。我假设您是由于刷新处理程序中发生的事情而调用mSwipeRefreshLayout.setRefreshing(false);

解决方案是从Runnable内手动调用您的刷新方法。

mSwipeRefreshLayout.post(new Runnable() {
    @Override
    public void run() {
        mSwipeRefreshLayout.setRefreshing(true);
        myRefreshMethod();
    }
});

10-08 16:42