android - 以编程方式停止 SwipeRefreshLayout 触发器

标签 android material-design swiperefreshlayout

我研究了如何以编程方式启动 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();
    }
});

关于android - 以编程方式停止 SwipeRefreshLayout 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33651446/

相关文章:

java - android.view.InflateException : Binary XML file line #24: Binary XML file line #17: Error inflating class android. support.v7.widget.SwipeRefreshLayout

java - 替换 fragment 不起作用/我是否以正确的方式执行此操作?

android - 如何从 Activity 初始化 fragment ?

css - Material 设计中的水平对齐元素

javascript - 无法使 ng-repeat 与 Angular Material 一起工作

android - 当 Recyclerview 不在第一项时如何禁用 swiperefreshlayout?

android - 上下文的静态内存泄漏

java - 在 Java/Android 中填充双维字符串选项卡?

android - 什么是好的和简单的芯片 View 库

android - 当我在 MotionLayout 中使用 RecyclerView 和 SwipeRefreshLayout 做一些动画时,事情变得很奇怪