线程处于休眠状态时刷新textview

时间:2012-03-28 07:17:49

标签: android

我想显示一些文本几秒钟,然后退出我的应用程序,我使用以下代码:

public void idonot(View V) throws InterruptedException
{
    TextView txt = (TextView) findViewById(R.id.TEXT_VIEW);
    txt.setText("Please uninstall application");
    Thread.sleep(2000);
    android.os.Process.killProcess(android.os.Process.myPid());
}

问题是textView没有刷新我能做什么?

1 个答案:

答案 0 :(得分:2)

Android UI在主线程上运行。这意味着,UI也在主线程上绘制。如果您将主线程置于休眠状态然后将其终止(!),UI将如何刷新?

而是使用Handler发布延迟后执行的任务。此runnable将发布到线程的消息队列,并将在2秒后执行。

public void idonot(View V)
{
    TextView txt = (TextView) findViewById(R.id.TEXT_VIEW);
    txt.setText("Please uninstall application");

    (new Handler()).postDelayed((new Runnable() {
        @Override
        public void run() {
            finish();
        }
    }), 2000);
}