elektrik port üyelik servisleri elektrik port üyelik servisleri

Tek Listener İle Butonları Kontrol Etme |
Android Programlama - 8

Mobil projeler geliştirilirken birden fazla buton kullanma durumu söz konusu olabilir. Her bir butonun olayını ayrı ayrı tanımlayabileceğimiz gibi tek bir olay kullanarak da tanımlayabiliriz. Tek listener ile kontrol etme durumu kodlama açısından daha iyi olmaktadır ve kod içinde ki kalabalığı önlemektedir. Bu yazımızda birden fazla butonu tek bir listener ile kontrol etmeyi irdeleyeceğiz.



A- A+
22.02.2015 tarihli yazı 3466 kez okunmuştur.
Mobil android uygulamalarında butonların önemi yok sayılamaz. Butonlar sayesinde çoğu işlemi android programlamada yapabiliriz. Örnek verilirse eğer butonları kullanarak başka bir sayfaya geçebiliriz ya da butonları kullanarak müzik başlatıp durdurabiliriz. Bu örnekler çoğaltılabilir. Fakat projelerde ne kadar fazla buton kullanılırsa kod karmaşıklığı o derecede artacaktır. Bu durumu butonları tek listener ile kontrol ederek çözebiliriz.

İlk olarak boş bir proje oluşturulmalıdır. Daha sonra uygulamamızda örnek olarak 3 buton verilmiştir fakat bu sayı çoğaltılabilir. activity_main.xml içerisine 3 buton sürükleyip bırakılmıştır. Uygulama çalıştırıldığında hangi butona basıldığını Toast ile öğreneceğiz. activity_main.xml içeriği şu şekilde olmalıdır.

 



Şekil 1: activity_main.xml


 
►İlginizi Çekebilir : Android Programlamada Telefon Numarası Araması Nasıl Yapılır? | Android Programlama - 7

 
activity_main.xml içeriğini Şekil 1'deki gibi ayarladıktan sonra MainActivity.java sınıfı içeriğini düzenlemeye geçilebilir. MainActivity.java sınıfının içeriği aşağıdaki şekildeki gibidir.
 


 
Şekil 2: MainActivity.java

 
►İlginizi Çekebilir : Option(Menü) Kullanımı | Android Programlama - 6

 
MainActivity.java sınıfında ilk olarak implement olayını yapmamız gerekmektedir. Bunun için sınıf adının olduğu satırın devamına "implements View.OnClickListener" eklemesi yapılmaktadır. Bu eklemenin yapılması zorunludur. Butonlar bu listener üzerinden kontrol edilecektir. Sınıf içinde kaç adet buton kullanılacaksa  o kadar tanımlama yapılmaktadır. Uygulamamızda 3 adet olduğu için 3 adet adet buton tanımlaması yapılmıştır. onCreate() metodu içerisine findViewById ile butonlara kimlik atama işlemi yapıldı. Tek listener kullanıldığı zaman bu tanımlamaların altına "butonDeğişkeninAdı.setOnClickListener(this)" satırlarının eklemesi yapılmalıdır. Bu satırla birlikte artık MainActivity.java sınıfında kullanılacak olan butonların tıklama olayının hangi sınıfta olacağı belirtilmiştir. Parantez içine yazılan "this" kelimesi MainActivity.java sınıfında olacağını belirtmektedir. 

Bir önceki paragrafta anlatılanlar uygun bir şekilde yapıldığı zaman hiç bir sorun olmayacaktır. Yalnız bu durumda sınıf adının olduğu yerde yani MainActivity yazan yerde bir hata olacaktır. Bunun sebebi implements edilen OnClickListener olayının fonksiyonunun kullanılmamasından kaynaklanmaktadır. Hata olan yere gelip "Add unimplemented methods" seçeneğine basılırsa hata gidecektir ve altta onClick adında bir fonksiyon oluşacaktır. Bu fonksiyon içeriğine butonlara tıklandığı zaman ne olacağını belirteceğiz. Şu an sadece basit anlamda hangi butona tıklandığını anlamak için Toast mesaj verme komutu kullanıldı. Uygulamanın çıktısı aşağıdaki şekildeki gibidir.

 



Şekil 3: Uygulamanın Çalışır Hali
 
 

►İlginizi Çekebilir : Veritabanı İşlemleri | Android Programlama - 5
 
 
Eğer implements etme konusunda herhangi bir sıkıntı oluşursa manuel olarak kütüphaneyi import etmek gerekmektedir. "import android.view.View.OnClickListener" eklemesi yapıldığı zaman hata kısmı düzelecektir. 

ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar