Penghitung Waktu Mundur Android tidak berhenti di Aplikasi Kuis

Maaf untuk bahasa Inggris saya yang buruk

Halo semuanya Saya telah membuat aplikasi kuis yang berisi 5 pertanyaan. Saya telah membuat halaman ResultActivity yang menampilkan hasil kuis. Saya telah menambahkan penghitung waktu mundur 20 detik untuk setiap pertanyaan. Ketika penghitung waktu mundur selesai, ia berpindah ke pertanyaan berikutnya secara otomatis. Ketika pertanyaan sudah selesai, pertanyaan harus dipindahkan ke halaman ResultActivity untuk menampilkan hasilnya.

Saya hanya punya satu masalah...

Jika penghitung waktu mundur tidak selesai pada 0, penghitung waktu tersebut masih berjalan di latar belakang dan saat Anda membuka layar ketiga yang disebut ViewAnswerActivity, ia mengembalikan saya ke layar ResultActivity.

Bagaimana cara menghentikan Penghitung Waktu Mundur setelah mencapai layar ketiga? (Lihat Aktivitas Jawaban)

Bagian dari kode

ConceptActivity.kelas

TextView textView;
CountDownTimer countDownTimer;

@Override
Protected void onCreate (Bundle savedInstanceState) {
   Super.onCreate (savedInstanceState);
   SetContentView (R.layout.activity_concept);

    TextView = (TextView) findViewById;

     CountDownTimer = new CountDownTimer (20 * 1000,1000) {
         @Override
         Public void onTick (long millisUntilFinished) {
            TextView.setText ("" + millisUntilFinished / 1000);
         }

         @Override
         Public void onFinish () {
             Intent conceptIntent = new Intent (ConceptActivity.this, ResultActivity.class);
             StartActivity (conceptIntent);
         }

     } .start ();
 }

person Marko Diaz    schedule 29.12.2016    source sumber


Jawaban (2)


Masalahnya adalah Anda tidak menghentikan pengatur waktunya.

          Public void onFinish () {
                        Intent conceptIntent = new Intent (ConceptActivity.this, ResultActivity.class);
                        StartActivity (conceptIntent);
                }

          public void cancel(){ 
                       if(countDownTimer != null)
                      countDownTimer.cancel(); 
                }

person Starlord    schedule 29.12.2016
comment
Saya menggunakan countDownTimer.cancel(); tapi Penghitung Waktu Mundur tidak berhenti - person Marko Diaz; 30.12.2016
comment
Menambahkan metode pembatalan, coba sekarang - person Starlord; 30.12.2016
comment
tidak berfungsi :/ Saya dialihkan ke ResultActivity.class lagi, saya harus meneruskan ConceptActivity ke ResultActivity dan ViewAnswerActivity dan tetap berada di layar ketiga - person Marko Diaz; 30.12.2016

Tambahkan kode di bawah ini setiap kali Anda berpindah dari aktivitas pengatur waktu ke aktivitas lain

myTimer.cancel();
myTimer.purge();

myTimer adalah nomor variabel bertipe Timer.

person Aditya    schedule 06.09.2020