android - How to use text watcher to do match between 3 EditText? -


i code in below. doesn't work. need perform simple addition , simple subtraction based on 2 of field have input.... question ends...

i needed make text because can't ask question if details isn't enough , code more details. i'm typing ask question. ignore , see code below. thank you

java code :

package com.test.easycount;  import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.text.editable; import android.text.textwatcher; import android.widget.edittext; import android.widget.toast;  public class mainactivity extends appcompatactivity implements textwatcher {      edittext num1, num2, sum;     int fnumber, snumber, total;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          num1 = (edittext) findviewbyid(r.id.num1);         num2 = (edittext) findviewbyid(r.id.num2);         sum = (edittext) findviewbyid(r.id.sum);          num1.addtextchangedlistener(this);         num2.addtextchangedlistener(this);         sum.addtextchangedlistener(this);          fnumber = integer.parseint(num1.gettext().tostring());         snumber = integer.parseint(num2.gettext().tostring());         total = integer.parseint(sum.gettext().tostring());     }      @override     public void beforetextchanged(charsequence s, int start, int count, int after) {      }      @override     public void ontextchanged(charsequence s, int start, int before, int count) {      }      @override     public void aftertextchanged(editable s) {          if (num1.gettext().tostring().length() > 0 && num2.gettext().tostring().length() > 0) {              total = fnumber + snumber;             sum.settext(integer.tostring(total));          } else if (num1.gettext().tostring().length() > 0 && sum.gettext().tostring().length() > 0) {              snumber = total - fnumber;             num2.settext(integer.tostring(snumber));         } else if (num2.gettext().tostring().length() > 0 && sum.gettext().tostring().length() > 0) {              fnumber = total - snumber;             num1.settext(integer.tostring(fnumber));         }     } } 

please me this....

remove initializing variables , paste them in aftertextchanged

  @override             public void aftertextchanged(editable s) {          try {              fnumber = integer.parseint(num1.gettext().tostring());         } catch (numberformatexception e) {             fnumber = 0;             log.e("numberformat", e.tostring());         }          try {             snumber = integer.parseint(num2.gettext().tostring());         } catch (numberformatexception e) {             snumber = 0;             log.e("numberformat", e.tostring());         }          try {             total = integer.parseint(sum.gettext().tostring());         } catch (numberformatexception e) {             total = 0;             log.e("numberformat", e.tostring());         }        if (num1.gettext().tostring().length() > 0 && num2.gettext().tostring().length() > 0) {                      total = fnumber + snumber;                     sum.settext(integer.tostring(total));                  } else if (num1.gettext().tostring().length() > 0 && sum.gettext().tostring().length() > 0) {                      snumber = total - fnumber;                     num2.settext(integer.tostring(snumber));                 } else if (num2.gettext().tostring().length() > 0 && sum.gettext().tostring().length() > 0) {                      fnumber = total - snumber;                     num1.settext(integer.tostring(fnumber));                 }             } 

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? -