android - can i get Edit text leave event -


i want edittext "text" reflected on textview after edittext leave event possible in android tried can tell me whats wrong or not possible in android?

i tried every event possible

objnextbet=getnextbets();             button btnbetnow =(button)findviewbyid(r.id.btnbetnow);             try             {             simpleexpandablelistadapter explistadapter =                 new simpleexpandablelistadapter(                     this,                     createbetgrouplist("next"), // groupdata describes first-level entries                     r.layout.group_row, // layout first-level entries                     new string[] { "betgroup" },    // key in groupdata maps display                     new int[] { r.id.childname },       // data under "colorname" key goes textview                     createbetchildlist("next") ,    // childdata describes second-level entries                     r.layout.child_row, // layout second-level entries                     new string[] { "bettext","betrate","betid" },   // keys in childdata maps display                     new int[] { r.id.txtbettext, r.id.txtdecrate,r.id.txtstrbetid}  // data under keys above go these textviews                  ) {                 @override                  public view getchildview(int groupposition, int childposition, boolean islastchild, view convertview, viewgroup parent)                 {                                final view childview = super.getchildview(groupposition, childposition,islastchild, convertview, parent);                         final textview txtbettext = (textview)childview.findviewbyid(r.id.txtbettext);                      final textview txtstrbetid = (textview)childview.findviewbyid(r.id.txtstrbetid);                      final textview txtdecrate = (textview)childview.findviewbyid(r.id.txtdecrate);                                          string strbetgroup="";                      for(int n = 0 ; n < objnextbet.size() ; n++ )                          {                          if(objnextbet.get(n).getbettext().tostring().equals(txtbettext.gettext().tostring()))                           {                              strbetgroup=objnextbet.get(n).getstrbetgroupname().tostring();                           }                         }                         button btnbetnow = (button)childview.findviewbyid(r.id.btnbetnow);                      btnbetnow.settag(txtbettext.gettext() + "-" +                              txtstrbetid.gettext() +"-" +txtdecrate.gettext()+"-"+strbetgroup);                       btnbetnow.setonclicklistener(new onclicklistener()                       {                             @override                                      public void onclick(view view)                          {                                             try                            {                                string tagvalue=(string) view.gettag();                                final string bet[] = tagvalue.split("-");                                 final dialog dialogbetnow = new dialog(myucontext);                                /** disabling popup title bar */                                dialogbetnow.requestwindowfeature(window.feature_no_title);                                  /** set content popup */                                dialogbetnow.setcontentview(r.layout.popupbet);                                  /** set popup deposit balance */                                    textview txtcashcredit =(textview)dialogbetnow.findviewbyid(r.id.txtcashcredit);                                    txtcashcredit.settext(double.tostring(objcguserprofile.getusedcredit()).tostring());                                    final textview txtbetbettext = (textview)dialogbetnow.findviewbyid(r.id.txtbetbettext);                                   txtbetbettext.settext(bet[0]);                                    textview txtbetrate = (textview)dialogbetnow.findviewbyid(r.id.txtbetrate);                                   txtbetrate.settext(bet[2]);                                    button btnpopupbetnow = (button)dialogbetnow.findviewbyid(r.id.btnpopupbetnow);                                   btnpopupbetnow.setonclicklistener(new onclicklistener()                               {                                  @override                                 public void onclick(view v)                                 {                                      final edittext etstake = (edittext)dialogbetnow.findviewbyid(r.id.etstake);                                      if(etstake.gettext().tostring().equals(""))                                     {                                         textview txterror =(textview)dialogbetnow.findviewbyid(r.id.txterror);                                         txterror.settextcolor(color.red);                                         txterror.settext("please enter cash.");                                     }                                     else                                     {                                         final double cash = double.valueof((string)etstake.gettext().tostring()).doublevalue();                                          etstake.setonfocuschangelistener(new edittext.onfocuschangelistener()                                         {                                                 @override                                             public void onfocuschange(view v,boolean hasfocus)                                              {                                                 if (!hasfocus)                                                 {                                                     // todo: edittext has been left                                                      textview txtrisk = (textview)dialogbetnow.findviewbyid(r.id.txtrisk);                                                     textview txtreturn = (textview)dialogbetnow.findviewbyid(r.id.txtreturn);                                                     txtrisk.settext(double.tostring(cash).tostring());                                                     double stake = double.parsedouble(etstake.gettext().tostring());                                                     double rate = double.parsedouble(bet[2]);                                                     double betreturn = stake * rate;                                                     txtreturn.settext(double.tostring(betreturn));                                                 }                                              }                                         });                                      }                                 }                             });                                    imageview imgcancel = (imageview)dialogbetnow.findviewbyid(r.id.imgcancel);                                   imgcancel.setonclicklistener(new onclicklistener() {                                      @override                                     public void onclick(view v)                                      {                                          try                                           {                                            dialogbetnow.cancel();                                             }                                          catch (exception e)                                          {                                          }                                       }                                 });                                dialogbetnow.show();                             }                             catch(exception ex)                            {                                ex.tostring();                            }                         }                          });                                         return childview;                      }  

you can register onfocuschangelistener on edittext inside activity's oncreate method:

final edittext et = (edittext)findviewbyid(r.id.my_edit_text); et.setonfocuschangelistener(new view.onfocuschangelistener() {     @override     public void onfocuschange(view v, boolean hasfocus)     {         if (!hasfocus)             // todo: edittext has been left     } }); 

here v parameter of onfocuschange edittext control.

also, if want update textview on every change in edittext's content, should put update code inside public void aftertextchanged(editable s) method of registered textwatcher.

//make sure, txtrisk textview part of dialogbetnow view.


Comments