2011-11-03 24 views
0

在Activity中,我有TimerTask,它週期性地執行並且有時調用函數changeData(changeData是Activity中的函數,並將新的文本放入文本文件中)。問題是函數changeData被調用時不會刷新文本字段,當我滾動時刷新。 我試着用無效,但沒有幫助。有人可以給我任何建議嗎?在TimerTask中調用外部方法,但不刷新數據

private void changeData(String text){ 
// TextView 
txtSemi.setText(text); 
} 

回答

1

ui只能由UIThread更新。您可以在計時器任務中使用Handler

blog有一個非常全面的教程。但基本上,你只需要在計時器任務外實例化Handler,然後在計時器任務中執行:

final String mytext = text; 
    handler.post(new Runnable() { 
         @Override 
         public void run() { 
         txtSemi.setText(mytext); 
         } 
        }); 
相關問題