android - Call onTouchEvent() programmatically in Tracker class -


i using mobile vision barcode reader code example code here want trigger ontouchevent() whenever first barcode detect touchevent should trigger in onnewitem() of barcodegraphictracker. used toucheventexplicitlycall() purpose. got following exception

com.google.android.gms.samples.vision.barcodereader e/androidruntime: fatal exception: main                                                                                                  process: com.google.android.gms.samples.vision.barcodereader, pid: 28006                                                                                                  java.lang.nullpointerexception: attempt invoke virtual method 'boolean android.view.window.superdispatchtouchevent(android.view.motionevent)' on null object reference                                                                                                      @ android.app.activity.dispatchtouchevent(activity.java:2944)                                                                                                      @ com.google.android.gms.samples.vision.barcodereader.barcodegraphictracker$1.run(barcodegraphictracker.java:120)                                                                                                      @ android.os.handler.handlecallback(handler.java:739)                                                                                                      @ android.os.handler.dispatchmessage(handler.java:95)                                                                                                      @ android.os.looper.loop(looper.java:145)                                                                                                      @ android.app.activitythread.main(activitythread.java:6837)                                                                                                      @ java.lang.reflect.method.invoke(native method)                                                                                                      @ java.lang.reflect.method.invoke(method.java:372)                                                                                                      @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1404)                                                                                                      @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1199) 

here code

class barcodegraphictracker extends tracker<barcode> { private graphicoverlay<barcodegraphic> moverlay; private barcodegraphic mgraphic;     barcodegraphictracker(graphicoverlay<barcodegraphic> overlay, barcodegraphic graphic) {     moverlay = overlay;     mgraphic = graphic;  }  /**  * start tracking detected item instance within item overlay.  */ @override public void onnewitem(int id, barcode item) {     mgraphic.setid(id);     toucheventexplicitlycall();  }   void toucheventexplicitlycall() {      handler handler = new handler(looper.getmainlooper());      handler.post(new runnable() {          @override         public void run() {             long downtime = systemclock.uptimemillis();             long eventtime = systemclock.uptimemillis() + 1000;             float x = 0.0f;             float y = 0.0f;             int metastate = 0;             motionevent motionevent = motionevent.obtain(                     downtime,                     eventtime,                     motionevent.action_down,                     x,                     y,                     metastate             );              barcodecaptureactivity view=new barcodecaptureactivity();             view.dispatchtouchevent(motionevent);           }     }); } 

}


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -