从另一个线程调用runOnUiThread

时间:2012-05-30 18:15:49

标签: java android multithreading

我需要等待一段时间(10秒),然后我必须重绘画布。我使用Handler#postDelayed来衡量时间段。我的代码(只是部分):

handler.postDelayed(updates, 10000);

private Runnable updates = new Runnable() {
    public void run() {
        methodToRedraw();
    }
};

public void methodToRedraw(){
runOnUiThread(new Runnable() {
    public void run() {
       // redraw canvas
    }
 });
}

不幸的是,我不知道这是否正确,但这是我唯一的解决方案。也许有人可以帮助或知道更好的解决方案我会很感激。

PS。抱歉我的英文。

1 个答案:

答案 0 :(得分:-1)

您也可以使用AsyncTask。让Android处理线程创建......

protected Long doInBackground(URL... urls){Thread.sleep(10000);}
protected void onPostExecute(Long result) {methodToRedraw();}