如何在android中使用本例中的Thread.sleep()

如何在android中使用本例中的Thread.sleep(),android,thread-sleep,Android,Thread Sleep,我在主线程上有一些示例代码: userButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { simpleMessage.setText("Msg1"); try { Thread.sleep(1000); } catch (Interru

我在主线程上有一些示例代码:

userButton.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            simpleMessage.setText("Msg1");

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            simpleMessage.setText("Msg2");

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            simpleMessage.setText("Msg3");
        }
    });

问题是,它只会在一定时间后将文本更新为“Msg3”。为什么会发生这种情况,以及如何在每次发送信息时更新信息?

您是否尝试过增加睡眠时间?可能还是它发生得太快了?“为什么会发生这种情况”--因为您占用了主应用程序线程,阻止它更新屏幕,这是由您的
thread.sleep()
调用提供的。“如何使其在每次消息时更新?”--您需要将控制权交还给主应用程序线程,并安排稍后再次获得控制权以更新您的
TextView
。例如,您可以使用
postdayed()
Runnable