以编程方式停止SwipeRefreshLayout触发器

时间:2015-11-11 13:22:36

标签: android material-design swiperefreshlayout

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

以下是我开始动画的代码:

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

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

代码

mSwipeRefreshLayout.setRefreshing(false);

对我不起作用。

有人有想法吗?

1 个答案:

答案 0 :(得分:4)

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

解决方案是从Runnable

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