在做Android开发实现淡出效果后,移除界面上一个图片控件时,发现这样一个问题,在onAnimationEnd方法中调用 viewgroup.removeview,报 nullpointerexception异常的解决方法,花了我好长时间,终于在一个老外的论坛里找一个解决方法。
直接执行方法通常如下:
@Override
public void onAnimationEnd(Animation arg0) {
// 动画效果结束的时候移除图片
viewGroup.removeView(imageView);
}
但是,会出现空指针NullPointerException的异常。
后来看老外的方法是采用handler来处理,就不报异常了,如下:
@Override
public void onAnimationEnd(Animation arg0) {
// 动画效果结束的时候移除图片
//viewGroup.removeView(imageView);
new Handler().post(new Runnable() {
public void run() {
viewGroup.removeView(imageView);
}
});
}
特此记录下,希望能对大家有所帮助。
网友 2017/6/14 9:22:01 发表
是这个样子的,那么谁能解释下为什么呢?
网友 2015/1/15 12:40:49 发表
正解,非常感谢!
网友 2014/8/8 19:11:47 发表
非常感谢 顶起!!!!!!!!!!!!!!!!
zhoujunhua 2014/6/10 15:32:12 发表
很给力啊,我是在onAnimationEnd方法中,重新改变了被移动视图的位置,结果导致最后一帧移动出现问题,通过该方法解决了这个问题。
网友 2013/6/24 15:20:58 发表
非常正确,问题已经解决! 顶一下.........