2012-09-27 6 views
3

Donc, pour une raison quelconque sur mon Samsung Galaxy S2 (version Android 4.0.4) lorsque vous essayez de supprimer un ImageView de mon RelativeLayout je reçois un NPE. Voici la ligne de code qui est couru ne même pas hoquetSuppression ImageView provoque plantage sur certains téléphones

mainView.removeView(someImageView) 

Cependant sur mon Galaxy Nexus (version Android 4.1.1). J'ai posté le NPE ci-dessous. N'est-ce pas la bonne façon de supprimer un ImageView? En fait, j'en ai fini avec l'image et je n'en ai plus besoin. Toute pensée ou idée serait géniale.

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 

EDIT: Je ne pense pas que cela n'a rien à voir avec le problème, mais cela est supprimé sur la méthode « onAnimationEnd » d'une animation traduire.

+0

Est-ce la pleine extension de la NPE? N'y at-il pas un journal "Cause par"? – Kalem

+0

Non c'est tout ce qu'il affiche dans le journal. – EpicOfChaos

Répondre

5

Essayez de définir la visibilité du imageView à GONE comme:

someImageView.setVisibility(View.GONE); 
+1

Cela ne causera-t-il pas une fuite de mémoire si je le fais souvent? – EpicOfChaos

+0

J'ai eu ce même problème exact, et trouvé que je pouvais enlever la vue après sa visibilité a été réglée sur GONE – CSmith

Questions connexes