Android 未运行的函数

Android 未运行的函数,android,sleep,Android,Sleep,我试图在显示消息时短暂暂停线程,但当我尝试运行应用程序时,它不会运行睡眠前的代码,直到睡眠完成(或者至少不会更新UI) 是否有任何方法可以与sleep()一起更新UI?还是我必须使用处理器?谢谢 编辑:我也尝试过将它分成不同的功能。您是有意让它睡眠还是需要长时间运行的任务?如果有一个长时间运行的任务,那么使用AsncTask和progress对话框可能是值得考虑的。睡眠在大多数情况下都是一种邪恶,这就是其中之一!为什么要睡觉?在使用sleep之前,您应该需要高级Java线程中的证书,并且编译器应

我试图在显示消息时短暂暂停线程,但当我尝试运行应用程序时,它不会运行睡眠前的代码,直到睡眠完成(或者至少不会更新UI)

是否有任何方法可以与sleep()一起更新UI?还是我必须使用处理器?谢谢


编辑:我也尝试过将它分成不同的功能。

您是有意让它睡眠还是需要长时间运行的任务?如果有一个长时间运行的任务,那么使用AsncTask和progress对话框可能是值得考虑的。睡眠在大多数情况下都是一种邪恶,这就是其中之一!为什么要睡觉?在使用sleep之前,您应该需要高级Java线程中的证书,并且编译器应该为您提供一百万个警告,您需要在使用sleep之前单击这些警告;)回答你的问题。当您设置text()时,会将一条消息发布到UI线程上的消息队列中。然后停止UI线程执行任何操作,包括处理其队列上的消息,直到睡眠结束。因此,在线程再次唤醒之前,它无法更新UI。啊,谢谢,我想这一定是正在发生的事情。我固执地试图找到某种方法,迫使它在进入睡眠状态之前处理队列消息,因为我不懂异步;回到书本上来!
public void toPause(View view) {
    TextView textView = (TextView) findViewById(R.id.my_textView);
    textView.setText("Waiting...");

    SystemClock.sleep(500);

    textView.setText("Finished.");
}