Example code:
1, new thread, regular update text
classTestthreadextendsthread{ Public voidrun () {Message message=NewMessage (); Mhandler.sendmessage (message); }}//updating the UI in handlerPrivateHandler Mhandler =NewHandler () { Public voidhandlemessage (Message msg) {Textview.settext ("What you want to change."); }; };//Start ThreadNewTestthread (). Start ();
2, timer, update text regularly
Private FinalTimer timer =NewTimer ();Privatetimertask task; Handler Handler=NewHandler () {@Override Public voidhandlemessage (Message msg) {//TODO auto-generated Method StubTextview.settext ("XXXX"); Super. Handlemessage (msg); }};task=NewTimerTask () {@Override Public voidrun () {//TODO auto-generated Method StubMessage message =NewMessage (); Message.what= 1; Handler.sendmessage (message); } }; Timer.schedule (Task,1000, 1000);
Execute interface-related code in TimerTask, such as SetText, and the program crashes. The following code will not complete the update text.
New TimerTask () { publicvoid run () { mshorttestno.settext ("Pass"); } }; New Timer ();
Dynamically update text on TextView in Android