2012-03-28 89 views
0

刷新的TextView我想顯示幾秒鐘一些文字,然後退出我的申請,我使用下面的代碼:當線程處於休眠狀態

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的沒有得到刷新又能怎樣我做 ?

+0

什麼意思,沒有得到刷新?請不要顯示文字「請卸載應用程序」?這是一個新的線程? – 2012-03-28 07:21:19

回答

2

Android UI在主線程上運行。這意味着,UI也繪製在主線程上。如果你讓主線程進入睡眠狀態並殺死它(!),UI將如何刷新?

取而代之的是使用Handler來發布延遲後執行的任務。這個可運行的會被髮布到線程的消息隊列中,並在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); 
}