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
Post a Comment