私はスレッドでスレッドを実行しています。これはコードです:スレッド内のタイマを停止する
timer = new Timer();
start_timer = new Thread(new Runnable() {
public void run() {
timer.schedule(new TimerTask() {
@Override
public void run() {
myHandler.post(new Runnable() {
public void run() {
Log.e("asd", String.valueOf(tmp_chiamata_id));
//do somethings
Toast.makeText(getApplicationContext(), start_timer.getState().toString(), Toast.LENGTH_LONG).show();
}
});
}
}, 0, 1000);
}
});
start_timer.start();
私はこれを書いタイマーを停止するには:
if(timer != null){
timer.cancel();
start_timer.interrupt();
}
問題はlogcatストップがASDを表示するということですが、トーストが中断メッセージを表示し続けます。 start_timer.stop()でスレッドを停止しようとしましたが、とにかく動作しません。どのようにできるのか? おかげで、マティア
あなたはタイマーが自分のスレッドを正しく開始することを知っていますか?何かあなたが行っていることは、ハンドラを通して行わなければならない効果があります – L7ColWinters
私は解決しました。タイマとスレッドが正しく停止していますが、これら2つのオブジェクトに依存しない別のエラーがありました – pindol