TextView won't clear for some Reason, Android -


i hope isn't stupid question. i'm having trouble clearing textview. i've looked around , keeps saying use: textview.settext(""); in oncreate doesn't seem work reason. basically, app accepts number edittext runs fibonacci sequence (when button clicked) , displays result in textview. well, sequence displays fine want textview clear every time click button - far keeps adding more text what's there.

am placing textview.settext(""); in wrong location? or missing other concept? (i tried placing onclick - didn't work either).

here code:

public class mainactivity extends activity {  // primary widgets private edittext edittext; private textview textview; private button button1;  static arraylist<integer> fiblist = new arraylist<integer>();  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);     edittext = (edittext) findviewbyid(r.id.edittext1);     textview = (textview) findviewbyid(r.id.textview2);     button1 = (button) findviewbyid(r.id.button1);      //attempt clear textview     textview.settext("");      button1.setonclicklistener(new onclicklistener() {          @override         public void onclick(view v) {              string input = edittext.gettext().tostring();             int number = integer.parseint(input);             int tmp = 0;              // confirm input             if (number < 20) {                 toast.maketext(getapplicationcontext(),                         "you entered: " + number, toast.length_long).show();                 (int = 0; <= number; i++) {                     fiblist.add(fib(i));                      // sum numbers                     if (fib(i) % 2 == 0) {                         tmp += fib(i);                      }                  }             } else {                 toast.maketext(getapplicationcontext(),                         "number large: " + number, toast.length_long)                         .show();             }             string array = fiblist.tostring();             textview.settext(array);          }      });  }  // run fibonacci sequence public static int fib(int n) {     if (n < 2) {         return n;     } else {         return fib(n - 1) + fib(n - 2);     } }  @override public boolean oncreateoptionsmenu(menu menu) {     // inflate menu; adds items action bar if present.     getmenuinflater().inflate(r.menu.main, menu);     return true; } 

}

if want textview clear on each button click .settext must go in onclick. reason put .settext in oncreate clear text activity created, not have clear yet since button has not yet been pushed settext nothing. also, since oncreate run once activity, never go settext again. try following:

    public class mainactivity extends activity {  // primary widgets private edittext edittext; private textview textview; private button button1;  static arraylist<integer> fiblist = new arraylist<integer>(); @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);     edittext = (edittext) findviewbyid(r.id.edittext1);     textview = (textview) findviewbyid(r.id.textview2);     button1 = (button) findviewbyid(r.id.button1);        button1.setonclicklistener(new view.onclicklistener() {          @override         public void onclick(view v) {              textview.settext(""); //clear textview             fiblist.clear(); //clear array list before adding new elements              string input = edittext.gettext().tostring();             int number = integer.parseint(input);             int tmp = 0;              // confirm input             if (number < 20) {                 toast.maketext(getapplicationcontext(),                         "you entered: " + number, toast.length_long).show();                 (int = 0; <= number; i++) {                     fiblist.add(fib(i));                      // sum numbers                     if (fib(i) % 2 == 0) {                         tmp += fib(i);                      }                  }             } else {                 toast.maketext(getapplicationcontext(),                         "number large: " + number, toast.length_long)                         .show();             }             string array = fiblist.tostring();             textview.settext(array);          }      });  }  // run fibonacci sequence public static int fib(int n) {     if (n < 2) {         return n;     } else {         return fib(n - 1) + fib(n - 2);     } }  @override public boolean oncreateoptionsmenu(menu menu) {     // inflate menu; adds items action bar if present.     getmenuinflater().inflate(r.menu.main, menu);     return true; }  } 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -