我有一个非常简单的活动,它将自定义日期时间字符串输出到textView。我在MainActivity中自己实现了一个可运行接口,并在onCreate
方法的末尾创建了Thread
。在MainActivity中实现Runnable
Thread thread = new Thread(this);
thread.run();
这是run方法
public void run() {
while (true) {
try {
Thread.sleep(1000);
localTime.setText(LocalTime.getTime().format2445());
System.out.println(LocalTime.getTime().format2445());
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
当我在模拟器上我可以看到系统出logcat中运行它。但仿真器在约5秒后显示ANR。我究竟做错了什么。这种方法不适合吗?异步任务是这里的路吗?我需要每秒更新一次时钟,所以AsyncTask永远运行是可接受的模式?
你需要调用。 'thread.start()'。 – Raghunandan
你想做什么?实现一个'CountDownTimer'? – gunar
也,'localTime'是一个'TextView'? – gunar