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

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