Android SwipeRefreshLayout,如何防止双重滑动

标签 android swiperefreshlayout

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

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

谢谢

最佳答案

您应该使用一个 bool 标志来指示它是否已经刷新。

这样,当第一次滑动已经在运行时,您可以忽略第二次滑动。

希望这有帮助。

编辑:

看到问题是针对动画而不是针对任务。

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

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

setRefreshing(false);
setRefreshing(true);

如果这不起作用,也许你可以打电话

setEnabled(false)

当第一次滑动时,所以它会被锁定,直到完成然后你调用

setRefreshing(false);
setEnabled(true)

如果有什么效果请告诉我。

关于Android SwipeRefreshLayout,如何防止双重滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32885116/

相关文章:

java - UPNP/DLNA 控制点

java - Android系统上如何通过phonegap访问SDCARD中的图片

android - 我想测试 'Crittercism'工具,如何为Android开发崩溃的应用程序?

java - FFT 吉他调音器应用程序 - 频率不正确

android - 从数据库加载更多数据并在 ListView android中显示

android - 当第一个项目的高度为 0 时,SwipeRefreshLayout 不起作用

java - SwipeRefreshLayout + AsyncTask : Fail to refresh data

android - 在 Android 上使用 Expo 设置排毒

android - 在 SwipeRefreshLayout 上设置刷新( bool 值)时偶尔会出现 NullPointerExceptions

java - 拉动刷新 RecyclerVIew 适配器不工作