animation - Exception while removing a view from a LinearLayout in Android -


im trying animate custom view before removing linearlayout container. keep getting nullpointerexception can't trace anywhere specific.

the exception happens when have added 2 views , remove first one.

my code is:

protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.form_alg);     fadeinanimation = animationutils.loadanimation(getapplicationcontext(),             r.anim.witness_fade_in);      list = (linearlayout) this.findviewbyid(r.id.alg_list_getuigen);      addwitness = (imagebutton)             .findviewbyid(r.id.alg_getuige_toevoegen);     addwitness.setonclicklistener(new onclicklistener() {         @override         public void onclick(view v) {             final view w = view.inflate(getapplicationcontext(),                     r.layout.form_getuige, null);              imagebutton button = (imagebutton) w                     .findviewbyid(r.id.getuige_verwijderen);             button.setonclicklistener(new android.view.view.onclicklistener() {                  @override                 public void onclick(view v) {                     log.d(tag, "deleteview");                     animation fadeoutanimation = animationutils                             .loadanimation(getapplicationcontext(),                                     r.anim.witness_fade_out);                     fadeoutanimation                             .setanimationlistener(new animationlistener() {                                 @override                                 public void onanimationend(                                         animation animation) {                                     list.removeview(w);                                     list.invalidate();                                 }                                  @override                                 public void onanimationrepeat(                                         animation animation) {                                 }                                  @override                                 public void onanimationstart(                                         animation animation) {                                 }                             });                     w.setvisibility(view.visible);                     w.startanimation(fadeoutanimation);                     w.setvisibility(view.invisible);                 }             });             log.d(tag, "addview");              w.setvisibility(view.invisible);             list.addview(w);             w.startanimation(fadeinanimation);             w.setvisibility(view.visible);             list.invalidate();         }      }); } 

here stacktrace:

07-03 03:17:30.335: warn/dalvikvm(343): threadid=1: thread exiting uncaught exception (group=0x40015560) 07-03 03:17:30.365: error/androidruntime(343): fatal exception: main 07-03 03:17:30.365: error/androidruntime(343): java.lang.nullpointerexception 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewgroup.dispatchdraw(viewgroup.java:1372) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewgroup.drawchild(viewgroup.java:1644) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewgroup.dispatchdraw(viewgroup.java:1373) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.view.draw(view.java:6986) 07-03 03:17:30.365: error/androidruntime(343):     @ android.widget.framelayout.draw(framelayout.java:357) 07-03 03:17:30.365: error/androidruntime(343):     @ android.widget.scrollview.draw(scrollview.java:1409) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewgroup.drawchild(viewgroup.java:1646) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewgroup.dispatchdraw(viewgroup.java:1373) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewgroup.drawchild(viewgroup.java:1644) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewgroup.dispatchdraw(viewgroup.java:1373) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.view.draw(view.java:6883) 07-03 03:17:30.365: error/androidruntime(343):     @ android.widget.framelayout.draw(framelayout.java:357) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewgroup.drawchild(viewgroup.java:1646) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewgroup.dispatchdraw(viewgroup.java:1373) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewgroup.drawchild(viewgroup.java:1644) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewgroup.dispatchdraw(viewgroup.java:1373) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.view.draw(view.java:6883) 07-03 03:17:30.365: error/androidruntime(343):     @ android.widget.framelayout.draw(framelayout.java:357) 07-03 03:17:30.365: error/androidruntime(343):     @ com.android.internal.policy.impl.phonewindow$decorview.draw(phonewindow.java:1862) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewroot.draw(viewroot.java:1522) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewroot.performtraversals(viewroot.java:1258) 07-03 03:17:30.365: error/androidruntime(343):     @ android.view.viewroot.handlemessage(viewroot.java:1859) 07-03 03:17:30.365: error/androidruntime(343):     @ android.os.handler.dispatchmessage(handler.java:99) 07-03 03:17:30.365: error/androidruntime(343):     @ android.os.looper.loop(looper.java:123) 07-03 03:17:30.365: error/androidruntime(343):     @ android.app.activitythread.main(activitythread.java:3683) 07-03 03:17:30.365: error/androidruntime(343):     @ java.lang.reflect.method.invokenative(native method) 07-03 03:17:30.365: error/androidruntime(343):     @ java.lang.reflect.method.invoke(method.java:507) 07-03 03:17:30.365: error/androidruntime(343):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:839) 07-03 03:17:30.365: error/androidruntime(343):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:597) 07-03 03:17:30.365: error/androidruntime(343):     @ dalvik.system.nativestart.main(native method) 

i had same problem. have use handler execute code modifies ui (removeview() in case). add handler field , construct in oncreate() method. then, in onanimationend(), this:

fhandler.post(new runnable() {     @override     public void run() {         list.removeview(w);         list.invalidate();     } } 

Comments

Popular posts from this blog

c++ - Is it possible to compile a VST on linux? -

java - Output of Eclipse is rubbish -

jquery - Confused with JSON data and normal data in Django ajax request -