“Çıkış için bir kez daha tıklayın” özelliği

Android yazılımlarda sıkça gördüğümüz bir sorun bu aslında. İşlem yaparken geri butonuna basıldığında istenmeden uygulamanın kapatılmasına sebep oluyor ve buda en azından benim açımdan sıkıntıdan ibaret.

Bu sorunu çözmek için Ana Aktivite için de (MainActivity) de kullanarak geri butonuna tıklanma olayını ezmemiz gerekiyor.

Bu iş için ben şu şekilde bir algoritma düşündüm.

Varsayılan değeri FALSE olan bir değişken tanımlıyorum.

Geri Butonuna tıklama esnasında bu değişkenimizin değerini kontrol ediyorum.

Eğer, değer TRUE ise programı kapatıyorum.

Değişken deri TRUE değilse , değerini TRUE olarak değiştirip, ekrana kullanıcıya eğer çıkmak istiyorsa GERİ tuşuna bir kez daha basması için bir mesaj gösteriyorum.

ve son olarak 2 sn içinde işlem yapmazsa değişekemizin değerini tekrar FALSE yapıyorum. Dolayısı programdan çıkması için butona 2 sn içinde 2 kez basması gerekiyor.

Kodla beraber algoritmasınıda anlatmaya çalıştım. mantığını anladıktan sonra nasıl bir kodla yazacağınız size kalmış 🙂

 


boolean clickButton = false; 


@Override
public void onBackPressed() { 
if (clickButton) { 
      super.onBackPressed();
      return;
}

this.clickButton = true;
Toast.makeText(this, "Çıkmak için bir kez daha GERİ butonuna tıklayın", Toast.LENGTH_SHORT).show();

new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                 clickButton = false;
            }
     }, 2000);
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir