refresh - Android invalidate() not updating textView -
i'm trying make textview update alongside timed loop. i've tried making invalidate() every time loops. seems work, app crashes when timer starts.
here's loop:
private timer timer; private timertask timertask = new timertask() { @override public void run() { thango += 10; textypoo.settext(integer.tostring(thango)); textypoo.invalidate(); } }; public void start() { if (timer != null) { return; } timer = new timer(); timer.scheduleatfixedrate(timertask, 0, 2000); }
here oncreate initialize stuff:
@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_second); intent intent = getintent(); textypoo = (textview)findviewbyid(r.id.textmcview); }
here 2 onclick method. 1 updates textview whenever press it, , calls timer:
public void sendthestuff(view view) { setcontentview(r.layout.activity_second); textypoo = (textview) findviewbyid(r.id.textmcview); thango++; message = integer.tostring(thango); textypoo.settext(message); } public void bazinga(view view) { start(); }
replace:
private timertask timertask = new timertask() { @override public void run() { thango += 10; textypoo.settext(integer.tostring(thango)); textypoo.invalidate(); } };
to:
private timertask timertask = new timertask() { @override public void run() { runonuithread(new runnable() { @override public void run() { thango += 10; textypoo.settext(integer.tostring(thango)); textypoo.invalidate(); } }); } };
Comments
Post a Comment