0

しばらく(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。私の英語でごめんなさい。

4

1 に答える 1

-1

AsyncTask も使用できます。Android がスレッドの作成を処理するようにします...

protected Long doInBackground(URL... urls){Thread.sleep(10000);}
protected void onPostExecute(Long result) {methodToRedraw();} 
于 2012-05-30T19:05:41.603 に答える