(Eclipse での Android のプログラミング) ボタンのテキストを変更する際に遅延を設定しようとしています。遅延が発生し、テキストを変更する必要がある場合にのみ、エラーが発生します。while ループのない単純化されたコードを次に示します。
final Button button_target = (Button) findViewById(R.id.button_target);
Thread textChange = new Thread(new Runnable() {
public void run(){
button_target.setText("fog");
try{
Thread.sleep(3000);
}catch(InterruptedException e){}
}
});
textChange.start();
次に、スリープ後にボタンのテキストの変更が必要なコードを示します。これにより、エラーが発生して終了 (強制) されます。
final Button button_target = (Button) findViewById(R.id.button_target);
Thread textChange = new Thread(new Runnable() {
public void run(){
button_target.setText("cat");
try{
Thread.sleep(3000);
}catch(InterruptedException e){}
button_target.setText("dog");
}
});
textChange.start();
エラーを引き起こすために何をしていますか?テキスト変更操作を実行できるように、スレッドにスリープまたは遅延を呼び出すことができるようにする必要がある別の方法はありますか?
(実際のコードには while ループがありますが、この形式でエラーが強調表示されると思います)