когда я нажимаю кнопку «Назад», мой таймер все еще работает.
для остановки потока я пытаюсь: interput() в onDestroy(), onPause() и onBackPressed() не работает, и я получаю сбой
не могу использовать и видеть ?! cancel() (в некоторых проблемах, подобных мне, я сказал, что используйте Cancel(), но не знаю, почему я не вижу, когда нажимаю «myThread.?»)
я также пытаюсь выполнить неправильное условие цикла, но не решаю свою проблему. (было одно отличие от предыдущего способа, который после нажатия кнопки «Назад» привел к сбою моего приложения!)
и это мой код, который я написал:
counterTime = 11;
while (counterTime > 0) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
counterTime--;
if (txtTimer != null) {
G.HANDLER.post(new Runnable() {
@Override
public void run() {
int min = (int) Math.floor(counterTime / 60);
int sec = counterTime % 60;
String secPerfix = "";
if (sec < 10) {
secPerfix = "0";
}
txtTimer.setText(min + ":" + secPerfix + sec);
}
});
}
}
private synchronized void stopThread() {
if (threadTimer != null){
threadTimer.interrupt();
}
}
@Override
public void onBackPressed() {
stopThread();
super.onBackPressed();
}
Спасибо.