android - setContentView causes NullPointerException -


i/m having nullpointerexception , believe problem related setcontentview in oncreate method.

here main activity :

protected void oncreate(bundle savedinstancestate)     {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);      } 

and code add text textview .. code written in view :

public boolean ontouchevent(motionevent event) {      // pointer index event object     int pointerindex = event.getactionindex();      // pointer id     int pointerid = event.getpointerid(pointerindex);      // masked (not specific pointer) action     int maskedaction = event.getactionmasked();      switch (maskedaction) {      case motionevent.action_down:     case motionevent.action_pointer_down: {         // have new pointer. lets add list of pointers          pointf f = new pointf();         f.x = event.getx(pointerindex);         f.y = event.gety(pointerindex);         mactivepointers.put(pointerid, f);         break;     }     case motionevent.action_move: { // pointer moved         (int size = event.getpointercount(), = 0; < size; i++) {             pointf point = mactivepointers.get(event.getpointerid(i));             if (point != null) {                 point.x = event.getx(i);                 point.y = event.gety(i);             }         }         break;     }     case motionevent.action_up:         string schema = getletterschema();         string letter = getletter(schema);          if(letter == null) {             system.out.println("***************************");             system.out.println("****error***"+schema+"***");             system.out.println("***************************");         } else {              textview t=(textview)findviewbyid(r.id.textview);             t.settext(letter);              system.out.println("***************************");             system.out.println("*"+letter+"*");             system.out.println("****************"+schema+"****");         }          mactivepointers.clear();         break;     case motionevent.action_pointer_up:         // not use         break;     case motionevent.action_cancel: {         // not use         mactivepointers.clear();         break;     }     }     ;     invalidate();      return true; } 

here log :

09-09 18:01:47.221: i/(29842): platform version : jb-mr-2 09-09 18:01:47.246: d/mali_winsys(29842): new_window_surface returns 0x3000 09-09 18:01:47.321: d/openglrenderer(29842): enabling debug mode 0 09-09 18:01:50.546: e/inputeventreceiver(29842): exception dispatching input event. 09-09 18:01:50.551: e/messagequeue-jni(29842): exception in messagequeue callback:      handlereceivecallback 09-09 18:01:50.556: e/messagequeue-jni(29842): java.lang.nullpointerexception 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ com.example.multitouch.multitouchview.ontouchevent(multitouchview.java:127) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.view.dispatchtouchevent(view.java:8112) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2420) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:2153) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2420) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:2153) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2420) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:2153) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2420) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:2153) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ com.android.internal.policy.impl.phonewindow$decorview.superdispatchtouchevent(phonewindow.java:2252) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ com.android.internal.policy.impl.phonewindow.superdispatchtouchevent(phonewindow.java:1587) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.app.activity.dispatchtouchevent(activity.java:2507) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ com.android.internal.policy.impl.phonewindow$decorview.dispatchtouchevent(phonewindow.java:2200) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.view.dispatchpointerevent(view.java:8320) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$viewpostimeinputstage.processpointerevent(viewrootimpl.java:4558) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$viewpostimeinputstage.onprocess(viewrootimpl.java:4430) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$inputstage.deliver(viewrootimpl.java:3988) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$inputstage.ondelivertonext(viewrootimpl.java:4042) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$inputstage.forward(viewrootimpl.java:4011) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$asyncinputstage.forward(viewrootimpl.java:4122) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$inputstage.apply(viewrootimpl.java:4019) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$asyncinputstage.apply(viewrootimpl.java:4179) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$inputstage.deliver(viewrootimpl.java:3988) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$inputstage.ondelivertonext(viewrootimpl.java:4042) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$inputstage.forward(viewrootimpl.java:4011) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$inputstage.apply(viewrootimpl.java:4019) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$inputstage.deliver(viewrootimpl.java:3988) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl.deliverinputevent(viewrootimpl.java:6333) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl.doprocessinputevents(viewrootimpl.java:6249) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl.enqueueinputevent(viewrootimpl.java:6220) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl.enqueueinputevent(viewrootimpl.java:6185) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.viewrootimpl$windowinputeventreceiver.oninputevent(viewrootimpl.java:6413) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.view.inputeventreceiver.dispatchinputevent(inputeventreceiver.java:185) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.os.messagequeue.nativepollonce(native method) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.os.messagequeue.next(messagequeue.java:138) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.os.looper.loop(looper.java:123) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ android.app.activitythread.main(activitythread.java:5335) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ java.lang.reflect.method.invokenative(native method) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ java.lang.reflect.method.invoke(method.java:515) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1265) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1081) 09-09 18:01:50.556: e/messagequeue-jni(29842):  @ dalvik.system.nativestart.main(native method) 09-09 18:01:50.556: d/androidruntime(29842): shutting down vm 09-09 18:01:50.556: w/dalvikvm(29842): threadid=1: thread exiting uncaught exception (group=0x4175fc08) 09-09 18:01:50.571: e/androidruntime(29842): fatal exception: main 09-09 18:01:50.571: e/androidruntime(29842): process: com.example.multitouch, pid: 29842 09-09 18:01:50.571: e/androidruntime(29842): java.lang.nullpointerexception 09-09 18:01:50.571: e/androidruntime(29842):    @ com.example.multitouch.multitouchview.ontouchevent(multitouchview.java:127) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.view.dispatchtouchevent(view.java:8112) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2420) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:2153) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2420) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:2153) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2420) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:2153) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:2420) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:2153) 09-09 18:01:50.571: e/androidruntime(29842):    @ com.android.internal.policy.impl.phonewindow$decorview.superdispatchtouchevent(phonewindow.java:2252) 09-09 18:01:50.571: e/androidruntime(29842):    @ com.android.internal.policy.impl.phonewindow.superdispatchtouchevent(phonewindow.java:1587) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.app.activity.dispatchtouchevent(activity.java:2507) 09-09 18:01:50.571: e/androidruntime(29842):    @ com.android.internal.policy.impl.phonewindow$decorview.dispatchtouchevent(phonewindow.java:2200) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.view.dispatchpointerevent(view.java:8320) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$viewpostimeinputstage.processpointerevent(viewrootimpl.java:4558) 09-09 18:01:50.571: e/androidruntime(29842):    @    android.view.viewrootimpl$viewpostimeinputstage.onprocess(viewrootimpl.java:4430) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$inputstage.deliver(viewrootimpl.java:3988) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$inputstage.ondelivertonext(viewrootimpl.java:4042) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$inputstage.forward(viewrootimpl.java:4011) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$asyncinputstage.forward(viewrootimpl.java:4122) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$inputstage.apply(viewrootimpl.java:4019) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$asyncinputstage.apply(viewrootimpl.java:4179) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$inputstage.deliver(viewrootimpl.java:3988) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$inputstage.ondelivertonext(viewrootimpl.java:4042) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$inputstage.forward(viewrootimpl.java:4011) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$inputstage.apply(viewrootimpl.java:4019) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$inputstage.deliver(viewrootimpl.java:3988) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl.deliverinputevent(viewrootimpl.java:6333) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl.doprocessinputevents(viewrootimpl.java:6249) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl.enqueueinputevent(viewrootimpl.java:6220) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl.enqueueinputevent(viewrootimpl.java:6185) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.viewrootimpl$windowinputeventreceiver.oninputevent(viewrootimpl.java:6413) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.view.inputeventreceiver.dispatchinputevent(inputeventreceiver.java:185) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.os.messagequeue.nativepollonce(native method) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.os.messagequeue.next(messagequeue.java:138) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.os.looper.loop(looper.java:123) 09-09 18:01:50.571: e/androidruntime(29842):    @ android.app.activitythread.main(activitythread.java:5335) 09-09 18:01:50.571: e/androidruntime(29842):    @ java.lang.reflect.method.invokenative(native method) 09-09 18:01:50.571: e/androidruntime(29842):    @ java.lang.reflect.method.invoke(method.java:515) 09-09 18:01:50.571: e/androidruntime(29842):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1265) 09-09 18:01:50.571: e/androidruntime(29842):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1081) 09-09 18:01:50.571: e/androidruntime(29842):    @ dalvik.system.nativestart.main(native method) 09-09 18:01:53.381: i/process(29842): sending signal. pid: 29842 sig: 9 

line 127 : t.settext(letter);

here main activity :

public class mainactivity extends activity  {      @override     protected void oncreate(bundle savedinstancestate)     {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);           }      @override     public boolean oncreateoptionsmenu(menu menu)      {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.main, menu);         return true;     }  } 

your assumption wrong. has nothing setcontentview(), rather findviewbyid call. state code another view, means code within class extends view. view has findviewbyid() method. below documentation

look child view given id. if view has given id, return view.

parameters:
id id search for.
returns:
view has given id in hierarchy or null

and guess r.id.textview not child of another view.

you want call findviewbyid() on context, example calling getcontext().findviewbyid(r.id.textview). hope helps.


Comments

Popular posts from this blog

javascript - RequestAnimationFrame not working when exiting fullscreen switching space on Safari -

jquery - Keeping Kendo Datepicker in min/max range -

jsf - How to ajax update an item in the footer of a PrimeFaces dataTable? -