2014-10-31 25 views
0

運行以下代碼應該在處理程序完成之前進行textView更改。但是,處理程序完成後,textview會發生更改。處理程序以某種方式避免文本更改之前?Hanlder blocks TextView change

t.setText("Test!"); 
    Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
    @Override 
    public void run() { 
     } 
    },1000); 
+0

只需在運行中移動setText代碼即可。 – 2014-10-31 12:53:20

+0

我想要做的事情是改變文本,等待1秒,並繼續與其餘的代碼 - 我不想改變textView後一秒,想改變它之前 – PKAP 2014-10-31 14:53:00

回答

0

試試這種方式,希望這會幫助你解決你的問題。

無論寫在裏面的代碼是什麼,它都會在給定間隔時間(1000)後執行。

注意:你必須聲明你textview或任何其他視圖,你要使用裏面運行外onCreate()或在課堂上。

Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 
    @Override 
    public void run() { 
     t.setText("Test!"); 
    } 
},1000);