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