Android SwipeRefreshLayout,如何防止双击

Android SwipeRefreshLayout, how to prevent double swipe

我正在我的应用程序中实现 SwipeRefreshLayout。 我已成功实施 OnRefreshListener,并且能够正确刷新 ListView 项目。

我的问题是,如果我向下滑动,当 SwipeRefreshLayout 正在刷新时,它会启动一个新的刷新动画和一个新的刷新过程。生成的动画很糟糕,进度轮似乎无法正确显示。 我想重现 gmail 应用程序的行为。如果在那里下拉刷新,在刷新邮件列表的时候不能再下拉。 如果列表正在刷新,我想防止第二次向下滑动。

谢谢

您应该使用布尔标志来指示它是否已经刷新。

这样您就可以忽略第二次滑动,而第一次滑动已经 运行。

希望对您有所帮助。

编辑:

看到问题是动画,不是任务。

您尝试过在第二次滑动时调用 setRefreshing(false) 吗?它是取消了两个动画还是只取消了第二个?

如果是第一种情况,你打电话怎么办

setRefreshing(false);
setRefreshing(true);

如果还是不行,也许你可以打电话给

setEnabled(false)

第一次刷的时候会被锁定,刷完之后再调用

setRefreshing(false);
setEnabled(true)

如果有用请告诉我。