Android SwipeRefreshLayout,如何防止双击

时间:2015-10-01 10:21:34

标签: android swiperefreshlayout

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

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

谢谢

1 个答案:

答案 0 :(得分:2)

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

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

希望这有帮助。

编辑:

看问题是动画而不是任务。

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

如果是第一种情况,请致电

setRefreshing(false);
setRefreshing(true);

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

setEnabled(false)

第一次滑动时,它会被锁定直到完成然后你打电话

setRefreshing(false);
setEnabled(true)

让我知道是否有效。