Android Dersleri

Android Dersleri 28 : Butonları Tek Bir Listener ile Kontrol Etme

Merhaba. Bu derste, android uygulamalarımızdaki butonların hepsi için tek bir listener oluşturmayı anlatacağım.

Normalde her buton için bir listener oluşturur ve bu listener içerisine de butona tıklandığında, bırakıldığında vs. yapılacak işlemleri yazarız. Şimdi, bir sınıftaki tüm butonlar için ortak bir event oluşturmayı göstereceğim.

Uygulamamızı aşağıdaki gibi oluşturalım.

Bu ekranımızın kodlamasını yapacağımız sınıfımızı da açalım ve aşağıdaki gibi ilk olarak butonlara ait birer nesne oluşturalım ve aynı listener’a bağlayalım. Bu arada Activity sınıfımızı en yukarıda View.OnClickListener sınıfından implement etmemiz gerekiyor.

onCreate() metodunun içerisinde butonları oluşturduk. Ayrıca ortak bir listener’a bağladık.

Şimdi bu metodun altına, listener’ın içini ve gerekli case yapılarını yazacağız. Bunun için de aşağıdaki onClick() metodunu kullanacağız. Ben click olayını kontrol ediyorum. Siz bırakılma, basılı tutma gibi olayları da kontrol edebilirsiniz.

Burada, tıklandığında olacakları kontrol etmek istediğimiz için click olayına ait metodu oluşturduk ve içerisine switch-case yapılarını yazdık. Tıklanan butonun id’sini alır ve hangi case koşuluna uyuyorsa o satır çalışır. Biz de buton tıklandığında bir toast mesajının çıkmasını sağladık.

Ekran Görüntüleri :

Bir sonraki derslerde görüşmek üzere.

Mehmet Kirazlı

İstanbul Eyüp'te ikamet ediyorum. Giresun Alucra'lıyım. Bilgisayar Mühendisliği bölümünden 2013 yılında mezun oldum. "Yeni Başlayanlar için Java 8" kitabının yazarıyım. Şu anda özel bir firmada Mobil Yazılım Geliştirme Uzmanı olarak çalışıyorum.

Yorumları Göster

  • Mehmet Hocam siteniz ve android anlatımı konusunda vermiş olduğunuz emekler için çok teşekkür ederim. Türkçe kaynak olarak en kapsamlı ve en iyi anlatım diyebilirim. Umarım Uzun bir ara vermiş olduğunuz android derslerinin devamı gelir. Sabırsızlıkla bekliyoruz.

  • selamlar hocam öncelikle teşekkür ederim. Fakat sormak istediğim bir soru var. Bu şekilde butonları toast değilde bir sayfaya yönlendirebiliyor muyuz?

    • Tabi ki yapabilirsin. Yapman gereken şey
      Toast.makeText( ..... ile başlayan yeri silip ne yapmak istiyorsan onun kodunu yazmak.
      Hocam sayfada kastın nedir?
      Web sayfası mı, başka bir activity mi?
      Yeni bir link için mesela: (ToastTı silip yerine aşağıdaki kodu yazmalısın)

      Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
      startActivity(browserIntent);

Son Gönderiler

Android Firebase Event (not set) Hatası Çözümü

Merhaba. Firebase Events'e istatistik attığınızda not set şeklinde bir değer görüyorsanız olası çözümünü göstereceğim. (daha&helliip;) Daha Fazla Oku

% gün önce

Namaz Vakitleri Uygulaması Yayında

Merhaba. Android cihazlar için hazırladığım Namaz Vakitleri uygulaması ile 200'e yakın ülkede tüm namaz-ezan vakitlerini… Daha Fazla Oku

% gün önce

Kaza Namazı ve Oruç Takip Uygulaması

Selamlar. İnsanlar için faydalı olması amacıyla geliştirdiğim Kaza Namazı ve Oruç Takip Uygulamasını sizlere tanıtmak… Daha Fazla Oku

% gün önce

Android Volley Kullanımı ve JSON Parse İşlemleri

Volley, Android uygulamalarımızda kullandığımız AsyncTask'ın alternatifi olarak ortaya çıkarılan, Google I/O 2013 sunumunda duyurulan bir… Daha Fazla Oku

% gün önce

Android ButterKnife Kütüphanesi Kullanımı

Merhaba. Bu yazımda Android platformunda kullanıma sunulan, bazı kod bloklarını basitleştiren ve okunabilirliği arttıran ButterKnife… Daha Fazla Oku

% gün önce

Admob TikTok Reklamları Engelleme

Merhaba. Bu yazımda artık baş belası olmuş TikTok reklamlarını, Android uygulamalarımızdaki Admob reklamlarından nasıl kaldıracağımızı… Daha Fazla Oku

% gün önce