android如何在android中运行简单时钟
我用脚本创建了一个简单的时钟。但当我执行程序RUN()时,函数正在工作,但当我给TextView赋值时,它在android设备中显示了不幸的错误。请帮我解决这个问题。 这是我的密码android如何在android中运行简单时钟,android,timer,timertask,Android,Timer,Timertask,我用脚本创建了一个简单的时钟。但当我执行程序RUN()时,函数正在工作,但当我给TextView赋值时,它在android设备中显示了不幸的错误。请帮我解决这个问题。 这是我的密码 TextView tv=(TextView) findViewById(R.id.textView1); MyTimerTask mytask=new MyTimerTask(); Timer timer = new Timer(); timer.schedule(mytask, 3000, 1000); cla
TextView tv=(TextView) findViewById(R.id.textView1);
MyTimerTask mytask=new MyTimerTask();
Timer timer = new Timer();
timer.schedule(mytask, 3000, 1000);
class MyTimerTask extends TimerTask {
public void run() {
tv.setText("Testing"); //(WHEN THIS LINE WILL BE COMMENT
//IT IS RUNNING PROPERLY BUT WHEN
//I SHOW THIS LINE IT SHOW ERROR)
}
}
如果您遵循logcat,它应该告诉您“您不能从单独的线程更改文本”这句话。当你使用定时器时,你就是在这么做。您需要发布textview以将其添加到消息队列中,然后消息队列将在UI线程上运行Runnable,因此只需替换
tv.setText("Testing");
与
应该很好。你可以用计时器检查一下,或者看看这个,谢谢,它对我很有用。再次感谢
tv.post(new Runnable() {
public void run() {
tv.setText("Testing");
}
});