我正在我的应用程序中实现 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/