系统延迟会影响所有命令

时间:2017-10-14 14:56:18

标签: java android timer

有一个烦人的问题,看看这段代码:

   textView.setText("hi");
   SystemClock.sleep(5000);
   textView2.setText("hi");

当您运行此代码时,逻辑视图必须显示“hi”,5秒后文本视图2显示“hi”。 但是这种情况不会发生,5秒后他们两个都在一起显示这个词!

1 个答案:

答案 0 :(得分:0)

您正在阻止主应用程序线程并阻止更新UI。任何关于Android应用程序开发的好书都会介绍这一点。

用以下代码替换您的代码:

textView.setText("hi");
textView2.postDelayed(new Runnable() {
  public void run() {
     textView2.setText("hi");
  }
}, 5000);