android– 如果在onAnimationEnd上删除子进程,ViewAnimator的OnDraw会抛出NullPointerException

android– 如果在onAnimationEnd上删除子进程,ViewAnimator的OnDraw会抛出NullPointerException,第1张

概述这不是一个问题,更像是与他人分享我遇到的问题以及我是如何解决的.基本上,我正在尝试创建一个ViewAnimator,他会根据用户点击创建额外的子项.在我动画下一个View之后进行清理,我把它放了outAnimation.setAnimationListener(listener);并在AnimationListener中publicvoidon

这不是一个问题,更像是与他人分享我遇到的问题以及我是如何解决的.
基本上,我正在尝试创建一个VIEwAnimator,他会根据用户点击创建额外的子项.
在我动画下一个VIEw之后进行清理,我把它放了

outAnimation.setAnimationListener(Listener);

并在AnimationListener中

public voID onAnimationEnd(Animation animation) {    vIEwAnimator.removeVIEw(out);}

现在,上面方法的问题是,在onAnimationEnd之后,它会抛出NullPointerException.基本上,这意味着,VIEwAnimator仍在使用正在动画绘制的子视图.因为我删除了它,那里有空.
我做了我的研究,基本上,这似乎是一个已知的错误.见:Android Animation is not finished on onAnimationEnd
 
为了解决这个问题,我修改了布局.

<VIEwAnimator    androID:ID="@+ID/animator"    androID:layout_wIDth="fill_parent"    androID:layout_height="fill_parent">    <FrameLayout        androID:ID="@+ID/container1"        androID:layout_wIDth="fill_parent"        androID:layout_height="fill_parent">    </FrameLayout>    <FrameLayout        androID:ID="@+ID/container2"        androID:layout_wIDth="fill_parent"        androID:layout_height="fill_parent" >    </FrameLayout></VIEwAnimator>

和onAnimationEnd我可以安全地调用container.removeAllVIEws().要为新视图设置动画,我选择隐藏的容器和

container.addVIEw(newVIEw);animator.setdisplayedChild(animator.indexOfChild(container));

我很乐意看到您的意见和建议.

解决方法:

我遇到了这个问题,并使用视图的post方法等待动画真正完成:

      public voID onAnimationEnd(Animation animation) {        //Wait until the container has finished rendering to remove the items.        vIEw.post(new Runnable() {          @OverrIDe          public voID run() {            //remove vIEw here          }        });      }
总结

以上是内存溢出为你收集整理的android – 如果在onAnimationEnd上删除子进程,ViewAnimator的OnDraw会抛出NullPointerException全部内容,希望文章能够帮你解决android – 如果在onAnimationEnd上删除子进程,ViewAnimator的OnDraw会抛出NullPointerException所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105756.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存