Skip to content

调用finishiRefresh()方法无法关闭 #1602

Open
@zjmantou1012

Description

@zjmantou1012

在项目中调用finishRefresh的时候,无法关闭刷新动画,尤其在调用autoRefreshAnimationOnly方法后,看源码的逻辑:

Image
当刷新的时候,在0-300ms以内调用finishRefresh方法时,就有可能造成delayed的值为无限接近0,导致动画只执行300ms,但是这个时候的RefreshState还是RefreshReleassed,这就导致了执行了一下代码块,而没有去执行关闭动画;

Image

目前最好的解决就是加个固定的延迟时间,这样能保证有足够的delay时间让RefreshState同步;

总结:
这个库的Refresh同步状态感觉还是有些问题的,会造成状态没有及时同步从而造成错乱,比如isRefreshing也不一定准确,OnRefreshListener是异步返回的,在这里调用View相关的方法会造成生命周期安全问题(尤其在Fragment中),希望能够在新版本中优先修复下。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions