Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android如何在android中运行简单时钟_Android_Timer_Timertask - Fatal编程技术网

android如何在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

我用脚本创建了一个简单的时钟。但当我执行程序RUN()时,函数正在工作,但当我给TextView赋值时,它在android设备中显示了不幸的错误。请帮我解决这个问题。 这是我的密码

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");
    }
});