java - Accessing non-final values inside anonymous inner class -


i have these 5 edittext fields , want write these values in database using button. button clicklistener i've used anonymous inner class final values allowed, means empty fields while writing in database. how can access these fields non-final? there way?

 public void onviewcreated(view view, @nullable bundle savedinstancestate) {     super.onviewcreated(view, savedinstancestate);      edittext yardarea = (edittext)view.findviewbyid(r.id.yardarea);     string areaofyard = yardarea.gettext().tostring();     edittext brick = (edittext)view.findviewbyid(r.id.brick);     final string brickused = brick.gettext().tostring();     edittext rcc = (edittext)view.findviewbyid(r.id.rcc);     final string rccused = rcc.gettext().tostring();     edittext overhead = (edittext)view.findviewbyid(r.id.overhead);     final string ovhh = overhead.gettext().tostring();     edittext underground = (edittext)view.findviewbyid(r.id.underground);     final string ung = underground.gettext().tostring();      button button = (button) view.findviewbyid(r.id.register);     button.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             databaseaccess databaseaccess = databaseaccess.getinstance(getactivity().getapplicationcontext());             databaseaccess.open();             databaseaccess.insertintocriteriatable(areaofyard, brickused, rccused, ovhh, ung );             databaseaccess.close();         }     }); } 

try this declare edittext global

edittext yardarea , brick , rcc,  overhead , underground;  public void onviewcreated(view view, @nullable bundle savedinstancestate) {     super.onviewcreated(view, savedinstancestate);      yardarea = (edittext)view.findviewbyid(r.id.yardarea);      brick = (edittext)view.findviewbyid(r.id.brick);     rcc = (edittext)view.findviewbyid(r.id.rcc);     overhead = (edittext)view.findviewbyid(r.id.overhead);     underground = (edittext)view.findviewbyid(r.id.underground);      button button = (button) view.findviewbyid(r.id.register);     button.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {              string areaofyard = yardarea.gettext().tostring();             string brickused = brick.gettext().tostring();             string rccused = rcc.gettext().tostring();             string ovhh = overhead.gettext().tostring();             string ung = underground.gettext().tostring();              databaseaccess databaseaccess = databaseaccess.getinstance(getactivity().getapplicationcontext());             databaseaccess.open();             databaseaccess.insertintocriteriatable(areaofyard, brickused, rccused, ovhh, ung );             databaseaccess.close();          }     }); } 

Comments

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -