android - Alert Dialog box being dismissed when parameters are not correct -


i have dialog box being displayed mainactivity started. prompts user enter 2 parameters, table number , cover number. confirm , these parameters used create order object.

however problem having regardless of whether or not enter parameters box dismissed when click confirm button. box stay displayed , display toast message outlining error.

below code works, when button clicked box disappears , toast displayed well.

many thanks.

public dialog createdialog(){      alertdialog.builder builder = new alertdialog.builder(sectionsactivity.this);      view v = getlayoutinflater().inflate(r.layout.order_dialog, null);     builder.setview(v);      tablenum = (edittext)v.findviewbyid(r.id.numberentry);     covernum = (edittext)v.findviewbyid(r.id.coversentry);      builder.setmessage("order information");     builder.setpositivebutton("confirm", new dialoginterface.onclicklistener() {         @override         public void onclick(dialoginterface dialog, int id) {              if(tablenum.gettext().length() != 0 && covernum.length() != 0){             //create order object in here             table = integer.parseint(tablenum.gettext().tostring());             covers = integer.parseint(covernum.gettext().tostring());             order.getinstance().settablenumber(table);             order.getinstance().setcovernumber(covers);             created = true;             }else{                 toast.maketext(getapplicationcontext(), "must enter table , cover number", toast.length_short).show();             }         }     });      return builder.create(); } 

edit:

if(!order.getinstance().getcreated()){     dialog d = createdialog();     d.show();     } 

try this

 alertdialog alertdialog = builder.create();   builder.setonshowlistener(new dialoginterface.onshowlistener() {                  @override                 public void onshow(dialoginterface dialog) {                      button b = alertdialog.getbutton(alertdialog.button_positive);                      b.setonclicklistener(new view.onclicklistener() {                         @override                         public void onclick(view v) {                             string strcomments = youredittext.gettext().tostring().trim();   // textbox value here                             if(strcomments==null || strcomments.length()==0)                             {                                 toast.maketext(context, "please enter general comments", 1).show();                             }                             else                             {                                 alertdialog.dismiss();                                 // stuff if success                              }                         }                     });                  }             }); 

what doing is, overrding alertdialog positive button, avoid closing of button without entering values field

edit:

public dialog createdialog(){      alertdialog.builder builder = new alertdialog.builder(sectionsactivity.this);      view v = getlayoutinflater().inflate(r.layout.order_dialog, null);     builder.setview(v);      tablenum = (edittext)v.findviewbyid(r.id.numberentry);     covernum = (edittext)v.findviewbyid(r.id.coversentry);      builder.setmessage("order information");     builder.setpositivebutton("confirm", new dialoginterface.onclicklistener() {         @override         public void onclick(dialoginterface dialog, int id) {              if(tablenum.gettext().length() != 0 && covernum.length() != 0){             //create order object in here             table = integer.parseint(tablenum.gettext().tostring());             covers = integer.parseint(covernum.gettext().tostring());             order.getinstance().settablenumber(table);             order.getinstance().setcovernumber(covers);             created = true;             }else{                 toast.maketext(getapplicationcontext(), "must enter table , cover number", toast.length_short).show();             }         }     });   alertdialog alertdialog = builder.create();  builder.setonshowlistener(new dialoginterface.onshowlistener() {                  @override                 public void onshow(dialoginterface dialog) {                      button b = alertdialog.getbutton(alertdialog.button_positive);                      b.setonclicklistener(new view.onclicklistener() {                         @override                         public void onclick(view v) {                             string strcomments = youredittext.gettext().tostring().trim();   // textbox value here                             if(strcomments==null || strcomments.length()==0)                             {                                 toast.maketext(context, "please enter general comments", 1).show();                             }                             else                             {                                 alertdialog.dismiss();                                 // stuff if success                              }                         }                     });                  }             });      return alertdialog ; } 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -