Turkcell | Geleceği Yazanlar

Soru & Cevap

Fiziksel tuş kullanımı

26.12.2013 - 17:49

MainActiviy'imde back butonuna basılınca "çıkmak istediğinizden emin misiniz?" diye bir alert oluşturmak istiyorum. Back butonuna basılıp basılmadığının kontrolünü nasıl sağlarım ?

4399 Görüntülenme

8 Cevap

murat oğuz tugay
30.12.2013 - 06:08

projeme bende bu olayı eklemek istiyorum ama daha yeniyim ve nasıl yapabilcegim hakkın bir fikrim yok yukardaki kodu yazmam yeterli olucaksa nereye yazmalıyım acaba

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Yasin Kafadar
29.12.2013 - 11:53

Selam Mümin,

Eğer senin uygulamanın ait Activity Stack'inde hala finish olmamaış Activity'ler varsa böyle çalışması gayet normal. Aşağıdaki linki incelemeni öneririm. Ayrıca uygulamanda açılıp kapanan ekranları gözden geçirip akışın doğru olup olmadığını da kontrol edebilirsin.

http://developer.android.com/guide/components/tasks-and-back-stack.html

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Anıl SÖZERİ
26.12.2013 - 23:38

alertbox.setCancelable(false); kodunu eklersen AlertDialog herhangi bir tercih yapana kadar kapanmayacaktır.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Mümin Başol
26.12.2013 - 18:57

Problem hala devam ediyor. Sorun şu , Back butonuna basınca oluşturduğum alertDialog açılıyor. Emilatorde çalıştırdığımda (çok yavaş çalıştığı için) en azından butonlar çalıştığını gördüm. Uygulamayı telefona attığımda farkettim alert çok kısa bir süre ekranda kalıp, yine back tuşu kendi görevine devam edip programı kapatıyor basar basmaz. 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Mümin Başol
26.12.2013 - 18:36

onKeyDown ile çalıştı teşekkür ederim

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

İzzet Kerem Küsmezer
26.12.2013 - 18:05

super.onBackPressed()'i çağırmazsan, back işlemi iptal olacaktır. Daha sonra yukarıdaki gibi finish ile kapatabilirsin.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Orhun Sözer
26.12.2013 - 18:03

Merhaba,

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK)) {
            AlertDialog.Builder alertbox = new AlertDialog.Builder(MainActivity.this);
            //alertbox.setIcon(R.drawable.info_icon);
            alertbox.setTitle("Uygulamadan çıkmak istiyor musunuz?");
            alertbox.setPositiveButton("Evet", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface arg0, int arg1) { 
                   // finish used for destroyed activity
                    finish();
                }
            });

            alertbox.setNegativeButton("Hayır", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface arg0, int arg1) {
                        //.... 
              }
            });

            alertbox.show();
        }
        return super.onKeyDown(keyCode, event);
    }

 

İyi çalışmalar.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Mümin Başol
26.12.2013 - 18:02

onBackPressed() methodunu override ettim içinde de Alert oluşturdum ama back tuşuna basılınca hem oluşturduğum alert çalışıyor hem de bir önceki aktivitye gidiyor. Bunu nasıl engellerim ?

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.