0
Я попытался сделать счетчик обратного отсчета, когда пользователь, нажавший кнопку, остановил обратный отсчет.Как я могу остановить поток в Android
Я искал в Интернете метод, чтобы остановить поток, контролирующий обратный отсчет.
Я попытался использовать interrupt
, Interrupted
и stop
, но не удалось остановить поток, используя любой из этих методов.
Вопрос: Как остановить поток, контролирующий счетчик обратного отсчета?
public class Main2Activity extends AppCompatActivity {
TextView mTextField;
Button stop;
Activity myActivity;
PrimeThread T1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
myActivity=this;
mTextField = (TextView) findViewById(R.id.counter);
T1=new PrimeThread();
T1.start(); }
public void stop(View view){ T1.interrupt(); }
class PrimeThread extends Thread {
int i=10;
public void run() {
while(i>0){
myActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mTextField.setText("00:0"+i);
}
});
i--;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}}}
}
это будет бесконечный цикл, и мне нужно противостоять вниз всего за 10 секунд, и пользователь может остановить его до 10 сек или пусть это через 10 секунд stop автоматически –
Я обновил свой ответ, проверьте: D –
он работал для меня после некоторого редактирования .. Спасибо ^^ –