Java 我在线程制作时间上有一个错误;“运行”;(每秒钟更新一次)

Java 我在线程制作时间上有一个错误;“运行”;(每秒钟更新一次),java,android,handler,ui-thread,Java,Android,Handler,Ui Thread,这是我的密码: public void run() { try { while (!isInterrupted()) { Thread.sleep(1000); runOnUiThread(new Runnable() { @Override public void run() {

这是我的密码:

public void run() {
        try {
            while (!isInterrupted()) {
                Thread.sleep(1000);
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {

                    }
                });
            }
        } catch (InterruptedException e) {
        }
    }
};
thread.start();

线程
被称为
线程
,我想在一个名为
TextView
TextView中显示时间。
线程中有一些错误,因为即使时间显示在
文本视图中,它也不会每秒更新。谢谢

如上所述,您应该将
处理程序
可运行
一起使用,下面是一个代码示例:

final Handler handler = new Handler();
final Runnable task = new Runnable() {
    @Override
    public void run() {
        //Your code
        handler.postDelayed(this, 1000);
    }
};
handler.postDelayed(task, 1000);

有关处理程序的更多信息,

如上所述,您应该将
处理程序
可运行
一起使用,下面是一个代码示例:

final Handler handler = new Handler();
final Runnable task = new Runnable() {
    @Override
    public void run() {
        //Your code
        handler.postDelayed(this, 1000);
    }
};
handler.postDelayed(task, 1000);
有关处理程序的更多信息,请使用和


使用及




你试过调试吗?这个问题很难回答。使用
Handler
instead@NejsemNikdo检查关于Handler用法的回答:@f1sh,我认为问题在于第8行(
public void run(){//here}
)中的“更新textview”。但是我不确定这一点,而且我也不知道怎么做“更新文本视图”你试过调试吗?这个问题很难回答。使用
Handler
instead@NejsemNikdo检查关于Handler用法的回答:@f1sh,我认为问题在于第8行中的“更新textview”(
public void run(){//here}
。但我对此不确定,而且我不知道如何“更新文本视图”“检查他是否开始睡眠线程,因此第一个帖子也应该延迟。我认为他这样做是为了让任务每秒钟执行一次,并不是说他想让它延迟是的,当然,但他可以在代码执行后睡眠,一开始就睡眠只是为了延迟第一次执行(也许他已经在文本视图中输入了一些数据?谁知道呢…).但话说回来,这可能只是一个错误。只是一个观察。检查他是否开始睡眠线程,因此第一篇文章也应该延迟。我认为他这样做是为了让任务每秒执行一次,而不是想让它延迟。是的,当然,但他可以在代码执行后睡眠,一开始就这样做只是为了延迟第一次执行(可能他已经在TextView中放入了一些数据,谁知道呢…)。但是,再次强调,这可能只是一个错误。只是一个观察。它显示了一个错误,即在第一个
处理程序中的
任务上“变量'task'可能尚未初始化”。postDelayed(task,1000)
(在我的代码下)谢谢,现在它没有显示错误,但我的应用程序中的时钟仍然没有运行:(@NejsemNikdo你能更新问题中的完整代码吗?请,让它完整,因为这应该可以工作。它显示了一个错误,第一个
处理程序中的
任务
上的“变量'task'可能尚未初始化”。postDelayed(task,1000)
(在我的代码下)谢谢,现在它没有显示错误,但我的应用程序中的时钟仍然没有运行:(@NejsemNikdo你能更新问题中的完整代码吗?请,使其完整,因为这应该可以工作。
Handler handler = new Handler();
handler.post(runnable);