2012-09-27 45 views
3

所以对于我的三星Galaxy S2某种原因(Android版本4.0.4)崩溃时,试图从我的RelativeLayout移除的ImageView我得到一个NPE。这是运行的代码行删除的ImageView导致某些手机

mainView.removeView(someImageView) 

但是,在我的Galaxy Nexus(Android版本4.1.1)中,它甚至没有出现呃逆。我已经在下面发布了NPE。这不是删除ImageView的正确方法吗?基本上我已经完成了图像,我不需要它再显示。任何想法或想法都会很棒。

FATAL EXCEPTION: main 
java.lang.NullPointerException 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2488) 
at android.view.View.draw(View.java:11150) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2887) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.draw(View.java:11150) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2887) 
at android.view.View.draw(View.java:11150) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2887) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2885) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.draw(View.java:11150) 
at android.widget.FrameLayout.draw(FrameLayout.java:450) 
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2302) 
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2127) 
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1733) 
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2545) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4507) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 
at dalvik.system.NativeStart.main(Native Method) 
[email protected] > dumpstate -k -t -n -z -d -o /data/log/dumpstate_app_error 

编辑:我不认为这有什么的问题,但是这是被一个转换动画的“onAnimationEnd”的方法去除。

+0

这是充分延长NPE的?没有“原因”日志? – Kalem

+0

没有这是它在日志中显示的全部内容。 – EpicOfChaos

回答

5

尝试将ImageView的可见性设置为GONE像:

someImageView.setVisibility(View.GONE); 
+1

如果我经常这样做,会不会造成内存泄漏? – EpicOfChaos

+0

我有这个完全相同的问题,并发现我可以删除视图后,它的可见性设置为GONE – CSmith