gpt4 book ai didi

android - 为什么在动画监听器中调用 .cancel() 会导致 StackOverflowError?

转载 作者:行者123 更新时间:2023-11-29 15:25:56 24 4
gpt4 key购买 nike

有什么原因导致我无法在动画监听器中提供的 Animator 上调用 .cancel() 吗?

当我执行以下代码时,出现 StackOverflowError:

        animation.addListener(new ValueAnimator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animator) {
if (!showCircles)
animator.cancel();
}
....

最佳答案

我发现了一个解决方案。

我发现您必须先调用 animator.removeAllListeners();,然后再调用 animator.cancel();。 (对于大多数 4.0+ 设备都是如此,但在 GSIII 上,出于某种原因,您不需要这样做。)

由于某种原因,cancel() 命令导致 onAnimationStart 再次被触发(以无限循环结束)。

关于android - 为什么在动画监听器中调用 .cancel() 会导致 StackOverflowError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13167576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com