java - BringToFront Force Closes the application -


here code have problem here complete code

public class camerafragment extends fragment implements orientationlistener {  private camera mcamera; private camerapreview mpreview; framelayout previewframelayout; private button camerabutton; private button cancelbutton; private button addbutton; private button retakebutton; private button donebutton;  //coach mark variable private boolean cocahmarkvisible=true; private relativelayout coachmarktoplayout; private textview coachtext; private imageview arrowimage;  private linearlayout camerapreviewcentertop; private linearlayout camerapreviewcenterbottom;  private linearlayout camerabtnlayout; private linearlayout addsectionbtnlayout;  private linearlayout receiptpreviewlayout; private imageview receiptpreviewimage;  private textview receiptpreviewlabeltext; private textview camerapreviewlabeltext;  private linearlayout keepflatlayout; private textview keepflattxt;  private textview receiptedgeleft; private textview receiptedgeright;  private linearlayout headerview; private textview headertextview;   private boolean cameraflat = false; private boolean addsectiondisplayed = false; private boolean orientationlistenerenabled = true;  private string lastimagefile;  private list<string> imgpaths = new arraylist<string>();  private static int max_num_of_receipts = 5;  @override public view oncreateview(layoutinflater inflater, viewgroup container,         bundle savedinstancestate) {     view view = inflater             .inflate(r.layout.fragment_camera, container, false);     //view view2 = inflater         //  .inflate(r.layout.camera_coachmark, container, false);     return view; }  @override public void onactivitycreated(bundle savedinstancestate) {     super.onactivitycreated(savedinstancestate);     setupviews();      //showinstructionsdialog(false);  }  private void setupviews() {      relativelayout fragmentlayout = (relativelayout) getactivity().findviewbyid(r.id.camerafragmentlayout);     imageutils.fixbackgroundrepeat(fragmentlayout);      // create instance of camera     mcamera = getcamerainstance();     setcameraparams(mcamera);      // create our preview view , set content of our activity.         mpreview = new camerapreview(getactivity(), mcamera);         previewframelayout = (framelayout) getactivity().findviewbyid(r.id.camera_preview);         previewframelayout.addview(mpreview);       setview();      //coachmarktoplayout = (relativelayout)getactivity().findviewbyid(r.id.coach_mark_top_layout);     //coachmarktoplayout.setvisibility(view.visible);     //coachmarktoplayout.bringtofront();      //to start make receipt preview hided     if(receiptpreviewlayout != null) {         receiptpreviewlayout.setvisibility(view.gone);         addsectionbtnlayout.setvisibility(view.gone);         camerabtnlayout.setvisibility(view.visible);         addsectiondisplayed = false;         keepflatlayout.setvisibility(view.visible);         keepflatlayout.bringtofront();         keepflattxt.settext(r.string.camera_keep_straight);         keepflattxt.bringtofront();         if(cocahmarkvisible == true)         {             coachmarktoplayout.setvisibility(view.visible);             coachmarktoplayout.bringtofront();         }     }      //coachmarktoplayout.bringtofront();      headerview = (linearlayout)getactivity().findviewbyid(r.id.message_header_layout_id);     headertextview = (textview)headerview.findviewbyid(r.id.message_header_textview);      if(networkhelper.isoffline(getactivity())) {                     enableheaderandfooter(r.string.offerslist_no_internet);     } else {         disableheaderandfooter();     }  }   protected void enableheaderandfooter(int msgid) {     headerview.setvisibility(view.visible);     headertextview.settext(msgid);     headerview.bringtofront(); }  protected void disableheaderandfooter() {     headerview.setvisibility(view.gone);         }  private void setcameraparams(camera mcamerainstance) {     if (mcamera == null)         return;      // set orientation     mcamera.setdisplayorientation(90);      // set camera parameters     camera.parameters params = mcamera.getparameters();      // following supported android 4.0     /*      * if (params.getmaxnummeteringareas() > 0){ // check metering      * areas supported list<camera.area> meteringareas = new      * arraylist<camera.area>();      *       * rect arearect1 = new rect(-100, -100, 100, 100); // specify area      * in center of image meteringareas.add(new camera.area(arearect1,      * 600)); // set weight 60% rect arearect2 = new rect(800, -1000,      * 1000, -800); // specify area in upper right of image      * meteringareas.add(new camera.area(arearect2, 400)); // set weight      * 40% params.setmeteringareas(meteringareas); }      */      list<string> focusmodes = params.getsupportedfocusmodes();      if (focusmodes != null &&  focusmodes.contains(camera.parameters.focus_mode_auto)) {         params.setfocusmode(camera.parameters.focus_mode_auto);     }      mcamera.setparameters(params);  }  private void cancelbuttonpress() {     cancelbutton.setenabled(false);     getactivity().finish(); }   private void camerabuttonpress() {     camerabutton.setenabled(false);       // process if camera flat     if (cameraflat) {             orientationlistenerenabled = false;             enableaquiringfocus(r.string.camera_acquire_focus);             mcamera.autofocus(myautofocuscallback);     }  }  private void afterpicturetaken() {      try {         if(mcamera != null) {             mcamera.stoppreview();         }     } catch(exception ex) {         log.e(constant.cartperk_log_tag, "not able stop preview after picture taken");     }       orientationlistenerenabled = true;     keepflatlayout.setvisibility(view.gone);      camerabtnlayout.setvisibility(view.gone);     addsectionbtnlayout.setvisibility(view.visible);             retakebutton.setenabled(true);     addbutton.setenabled(true);     donebutton.setenabled(true);      addsectiondisplayed = true;      if(this.imgpaths.size() >= max_num_of_receipts) {         addbutton.setenabled(false);     }      //camerapreviewcentertop.setbackground(new colordrawable(r.color.camera_screen_bg_color));     camerapreviewcentertop.setbackgroundcolor(getresources().getcolor(r.color.camera_screen_bg_color));   }    private void retakebuttonpress() {      retakebutton.setenabled(false);     addbutton.setenabled(false);     donebutton.setenabled(false);      addsectiondisplayed = false;      // remove last stored path     if (imgpaths.size() > 0) {         imgpaths.remove(imgpaths.size() - 1);     }      //if there no images, remove receipt preview     if(imgpaths.size() == 0) {         receiptpreviewlayout.setvisibility(view.gone);     }      addsectionbtnlayout.setvisibility(view.gone);     camerabtnlayout.setvisibility(view.visible);     camerabutton.setenabled(true);     orientationlistenerenabled = true;     keepflatlayout.setvisibility(view.visible);     camerapreviewlabeltext.settext(string.valueof(1 + imgpaths.size()));       camerapreviewcentertop.setbackgroundcolor(getresources().getcolor(r.color.camera_screen_bg_semi_color));      mcamera.startpreview();  }  private void addsectionbuttonpress() {     retakebutton.setenabled(false);     addbutton.setenabled(false);     donebutton.setenabled(false);      addsectiondisplayed = false;      receiptpreviewlayout.setvisibility(view.visible);     receiptpreviewlabeltext.settext(string.valueof(imgpaths.size()));      // show portion of existing receipt      // show image     if (lastimagefile != null) {          bitmap lastrcptbitmap = imageutils.createscaledrotatedgreyedimage(lastimagefile, getactivity(), 90f);           bitmap croppedbitmap = imageutils.croppedimageforimageview(lastrcptbitmap);          bitmap framewidthadjustedimage = imageutils.adjustframelayoutwidthwithzoom(croppedbitmap);          receiptpreviewimage.setimagebitmap(framewidthadjustedimage);                               receiptpreviewimage.setscaletype(scaletype.fit_xy);     }      addsectionbtnlayout.setvisibility(view.gone);     camerabtnlayout.setvisibility(view.visible);     camerabutton.setenabled(true);     orientationlistenerenabled = true;     keepflatlayout.setvisibility(view.visible);     camerapreviewlabeltext.settext(string.valueof(1 + imgpaths.size()));        camerapreviewcentertop.setbackgroundcolor(getresources().getcolor(r.color.camera_screen_bg_semi_color));      // start preview     mcamera.startpreview();  }  private void donebuttonpress() {     retakebutton.setenabled(false);     addbutton.setenabled(false);     donebutton.setenabled(false);      orientationlistenerenabled = false;      enableaquiringfocus(r.string.camera_process_receipts);      submitpictures();  }  public void onreceipthandlererror() {      //keepflatlayout.setvisibility(view.visible);            orientationlistenerenabled = true;       retakebutton.setenabled(true);     addbutton.setenabled(true);     donebutton.setenabled(true); }  public linearlayout getkeepflatlayout() {     return this.keepflatlayout; }   private void setview() {     camerabutton = (button)getactivity().findviewbyid(r.id.btn_camera);     cancelbutton = (button)getactivity().findviewbyid(r.id.btn_cancel);     addbutton = (button)getactivity().findviewbyid(r.id.btn_add);     retakebutton = (button)getactivity().findviewbyid(r.id.btn_retake);     donebutton = (button)getactivity().findviewbyid(r.id.btn_done);      camerapreviewcentertop = (linearlayout)getactivity().findviewbyid(r.id.camera_preview_center_top_area);     camerapreviewcenterbottom = (linearlayout)getactivity().findviewbyid(r.id.camera_preview_center_bottom_area);      camerabtnlayout = (linearlayout)getactivity().findviewbyid(r.id.btn_camera_layout);     addsectionbtnlayout = (linearlayout)getactivity().findviewbyid(r.id.btn_add_section_layout);      receiptpreviewlayout = (linearlayout)getactivity().findviewbyid(r.id.receipt_preview_area);     receiptpreviewimage = (imageview)getactivity().findviewbyid(r.id.camera_receipt_image);      receiptpreviewlabeltext = (textview)getactivity().findviewbyid(r.id.receipt_preview_label1);     camerapreviewlabeltext = (textview)getactivity().findviewbyid(r.id.camera_preview_label1);      keepflatlayout = (linearlayout)getactivity().findviewbyid(r.id.keep_flat_layout);     keepflattxt = (textview)getactivity().findviewbyid(r.id.keep_flat_label);      receiptedgeleft = (textview)getactivity().findviewbyid(r.id.camera_receipt_edge_label1);     receiptedgeright = (textview)getactivity().findviewbyid(r.id.camera_receipt_edge_label2);      coachmarktoplayout = (relativelayout)getactivity().findviewbyid(r.id.coach_mark_top_layout);     coachtext = (textview)getactivity().findviewbyid(r.id.coach_mark_add_msg);     arrowimage = (imageview)getactivity().findviewbyid(r.id.arrow_camera_msg);      camerabutton.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             camerabuttonpress();         }     });      cancelbutton.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             cancelbuttonpress();         }     });      addbutton.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             addsectionbuttonpress();         }     });      retakebutton.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             retakebuttonpress();         }     });      donebutton.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             donebuttonpress();         }     });   }  private void submitpictures() {      if(facebookhelper.isuserloggedin(getactivity().getapplicationcontext())) {         receipthandler receipthandler = new receipthandler(this.imgpaths, this.getactivity().getapplicationcontext());               receipthandler.submitanduploadreceipt();           //show dialog message, receipt submission in background         keepflatlayout.setvisibility(view.gone);         showdialog(r.string.camera_receipt_in_background, true, null);     } else {         previewframelayout.removeview(mpreview);         previewframelayout.setvisibility(view.invisible);          intent intentlogin = new intent(getactivity(), loginactivity.class);         intentlogin.addflags(intent.flag_activity_clear_top);         intentlogin.putextra("after_login_step", constant.after_login_camera);         startactivityforresult(intentlogin, constant.request_code_from_camera);     }  }  @override public void onactivityresult(int requestcode, int resultcode, intent data) {     log.d(constant.cartperk_log_tag, "=================requestcode==="+requestcode+"==========resultcode="+resultcode);      super.onactivityresult(requestcode, resultcode, data);     if(requestcode == constant.request_code_from_camera) {          previewframelayout.removeview(mpreview);         previewframelayout.setvisibility(view.invisible);         if(resultcode == activity.result_ok) {             log.d(constant.cartperk_log_tag, "========inside result_ok=========requestcode==="+requestcode+"==========resultcode="+resultcode);              try {                 if(mcamera != null) {                     mcamera.stoppreview();                 }             } catch(exception ex) {                 log.e(constant.cartperk_log_tag, "not able stop preview after picture taken");             }               receipthandler receipthandler = new receipthandler(this.imgpaths, this.getactivity().getapplicationcontext());                   receipthandler.submitanduploadreceipt();              //show dialog message, receipt submission in background             keepflatlayout.setvisibility(view.gone);             //showdialog(r.string.camera_receipt_in_background, true, null);         } else {             log.d(constant.cartperk_log_tag, "========inside not result_ok=========requestcode==="+requestcode+"==========resultcode="+resultcode);              try {                 if(mcamera != null) {                     mcamera.stoppreview();                 }             } catch(exception ex) {                 log.e(constant.cartperk_log_tag, "not able stop preview after picture taken");             }              keepflatlayout.setvisibility(view.gone);             //showdialog(r.string.camera_receipts_error, true, null);          }     }    }   private boolean checkcamerahardware(context context) {     if (context.getpackagemanager().hassystemfeature(             packagemanager.feature_camera)) {         // device has camera         return true;     } else {         // no camera on device         return false;     } }  /** safe way instance of camera object. */ public static camera getcamerainstance() {     camera c = null;     try {         c = camera.open(); // attempt camera instance     } catch (exception e) {         // camera not available (in use or not exist)     }     return c; // returns null if camera unavailable }  private void releasecamera() {     if (mcamera != null) {         mcamera.release(); // release camera other applications         mcamera = null;          previewframelayout.removeview(mpreview);         mpreview = null;     }  }  private void resumecamera() {     if (mcamera == null) {         mcamera = getcamerainstance();         setcameraparams(mcamera);          mpreview = new camerapreview(getactivity(), mcamera);         previewframelayout.addview(mpreview);      } }  private void takepicture() {      // image camera     // mcamera.takepicture(null, null, mpicture);     mcamera.takepicture(myshuttercallback, mypicturecallback_raw, mpicture);  }  autofocuscallback myautofocuscallback = new autofocuscallback() {      @override     public void onautofocus(boolean arg0, camera arg1) {         // todo auto-generated method stub         takepicture();     } };  shuttercallback myshuttercallback = new shuttercallback() {      @override     public void onshutter() {         // todo auto-generated method stub      } };  picturecallback mypicturecallback_raw = new picturecallback() {      @override     public void onpicturetaken(byte[] arg0, camera arg1) {         // todo auto-generated method stub      } };  private picturecallback mpicture = new picturecallback() {      @override     public void onpicturetaken(byte[] data, camera camera) {          file picturefile = imagehelper.getoutputmediafile(imagehelper.media_type_image);         if (picturefile == null) {             log.d(constant.cartperk_log_tag,                     "error creating media file, check storage permissions: ");             return;         }          try {             fileoutputstream fos = new fileoutputstream(picturefile);             fos.write(data);             fos.close();         } catch (filenotfoundexception e) {             log.d(constant.cartperk_log_tag,                     "file not found: " + e.getmessage());         } catch (ioexception e) {             log.d(constant.cartperk_log_tag,                     "error accessing file: " + e.getmessage());         }          log.d(constant.cartperk_log_tag, "==================mypicture=======");         // mcamera.startpreview();          lastimagefile = picturefile.getabsolutepath();         imgpaths.add(lastimagefile);          afterpicturetaken();      } };   /** create file uri saving image or video */ private static uri getoutputmediafileuri(int type) {     return uri.fromfile(imagehelper.getoutputmediafile(type)); }      private void enableaquiringfocus(int messageid) {     keepflatlayout.setvisibility(view.visible);     keepflattxt.settext(messageid);  }  private void disableaquiringfocus() {   }  public void onresume() {     super.onresume();      //resumecamera     resumecamera();      boolean isorientationsupported = orientationmanager.issupported();       //for testing     //isorientationsupported = false;      if (isorientationsupported) {         orientationmanager.startlistening(this);     } else {         //mark flat         cameraflat = true;         //show same message         keepflattxt.settext(r.string.camera_keep_straight);     } }  public void ondestroy() {     super.ondestroy();     if (orientationmanager.islistening()) {         orientationmanager.stoplistening();     }  }  @override public void onpause() {     super.onpause();     releasecamera(); // release camera on pause event }  @override public void onorientationchanged(float azimuth, float pitch, float roll) {     // show actual values }  @override public void onbottomup() {     // toast.maketext(getactivity(), "bottom up", 1000).show(); }  @override public void onleftup() {     // toast.maketext(getactivity(), "left up", 1000).show(); }  @override public void onrightup() {     // toast.maketext(getactivity(), "right up", 1000).show(); }  @override public void ontopup() {     // toast.maketext(getactivity(), "top up", 1000).show(); }  @override public void onnotflat() {     cameraflat = false;       if(orientationlistenerenabled) {         camerabutton.setenabled(false);     if (!addsectiondisplayed) {         keepflattxt.settext(r.string.camera_keep_straight);         keepflatlayout.bringtofront();         keepflattxt.bringtofront();     }     }      if(this.imgpaths.size() >= max_num_of_receipts) {      }  }  @override public void onflat() {     if(orientationlistenerenabled) {         cameraflat = true;         camerabutton.setenabled(true);         keepflattxt.settext(r.string.camera_is_straight);         keepflatlayout.bringtofront();         keepflattxt.bringtofront();     }       if(this.imgpaths.size() >= max_num_of_receipts) {      }  } 

and logcat shown below if remove bringtofront line works fine

03-25 08:57:00.184: d/cartperk app(7910): ====offeritemmain==inside     setoffermain====0=====oats idli 03-25 08:57:00.184: d/cartperk app(7910): =======inside offersgridview getview step4======0 03-25 08:57:00.184: d/cartperk app(7910): ==================inside loaddataforscrolldown============== 03-25 08:57:00.184: i/pontiflex sdk(7910): no storage file found 03-25 08:57:00.364: d/androidruntime(7910): shutting down vm 03-25 08:57:00.364: e/androidruntime(7910): fatal exception: main 03-25 08:57:00.364: e/androidruntime(7910): process: com.cartperk.android.cartperk, pid: 7910 03-25 08:57:00.364: e/androidruntime(7910): java.lang.runtimeexception: unable start activity   componentinfo{com.cartperk.android.cartperk/com.cartperk.android.cartperk.ui.cameraactivity}: java.lang.nullpointerexception: attempt invoke virtual method 'void android.widget.relativelayout.setvisibility(int)' on null object reference 03-25 08:57:00.364: e/androidruntime(7910):     @ android.app.activitythread.performlaunchactivity(activitythread.java:2195) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.app.activitythread.handlelaunchactivity(activitythread.java:2245) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.app.activitythread.access$800(activitythread.java:135) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.app.activitythread$h.handlemessage(activitythread.java:1196) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.os.handler.dispatchmessage(handler.java:102) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.os.looper.loop(looper.java:136) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.app.activitythread.main(activitythread.java:5017) 03-25 08:57:00.364: e/androidruntime(7910):     @ java.lang.reflect.method.invoke(native method) 03-25 08:57:00.364: e/androidruntime(7910):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) 03-25 08:57:00.364: e/androidruntime(7910):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:595) 03-25 08:57:00.364: e/androidruntime(7910): caused by: java.lang.nullpointerexception: attempt invoke virtual method 'void android.widget.relativelayout.setvisibility(int)' on null object reference 03-25 08:57:00.364: e/androidruntime(7910):     @ com.cartperk.android.cartperk.ui.camerafragment.setupviews(camerafragment.java:154) 03-25 08:57:00.364: e/androidruntime(7910):     @ com.cartperk.android.cartperk.ui.camerafragment.onactivitycreated(camerafragment.java:115) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.support.v4.app.fragment.performactivitycreated(fragment.java:1508) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:947) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1104) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1086) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.support.v4.app.fragmentmanagerimpl.dispatchactivitycreated(fragmentmanager.java:1884) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.support.v4.app.fragmentactivity.onstart(fragmentactivity.java:566) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.app.instrumentation.callactivityonstart(instrumentation.java:1171) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.app.activity.performstart(activity.java:5241) 03-25 08:57:00.364: e/androidruntime(7910):     @ android.app.activitythread.performlaunchactivity(activitythread.java:2168) 03-25 08:57:00.364: e/androidruntime(7910):     ... 9 more 

as have marked line comment how can solve

so, looks may initializing coachmarktoplayout incorrectly. when initializing view, you're calling activity.findviewbyid, should using view bound fragment.

  • initialize coachmarktoplayout in fragment.oncreateview using view return
  • initialize coachmarktoplayout in fragment.onviewcreated - same above
  • initialize coachmarktoplayout calling fragment.getview instead of fragment.getactivity

Comments

Popular posts from this blog

user interface - How to replace the Python logo in a Tkinter-based Python GUI app? -

objective c - Greedy NSProgressIndicator Allocation -

how to set an OCR language in Google Drive -