以编程方式停止 SwipeRefreshLayout 触发器

stop SwipeRefreshLayout trigger programmatically

我研究了如何以编程方式启动 Android SwipeRefreshLayout。 我发现 website 解释了如何做到这一点。

这是我如何启动动画的代码:

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

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

代码

mSwipeRefreshLayout.setRefreshing(false);

对我不起作用。

有没有人有想法?

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

解决方案是从 Runnable.

中手动调用刷新方法
mSwipeRefreshLayout.post(new Runnable() {
    @Override
    public void run() {
        mSwipeRefreshLayout.setRefreshing(true);
        myRefreshMethod();
    }
});