Android’de onClickListener Nasıl Kullanılır? – 1

Uygulama geliştirirken görselliğin yanı sıra işlevsellik ve etkileşim (interactivity) de katmak amacımızdır.
Bunun için kullanıcı dokunmatik ekranda tıklama, sürükleme, kaydırma gibi eylemler ile etkileşime geçer. Bu etkileşimler içinde en yaygın kullanılan eylem tıklamadır.

Bir görsele tıklama olduğunda programın ne yapmak istediğini tanımlamamıza yardımcı olan yapı View.OnClickListener (tıklama dinleyici, burada kısaca dinleyici diyeceğiz) yapısıdır.

OnClickListener, bir interface(arayüz) olup onClick isminde bir metoda sahiptir. Bu arayüzü uygulayan bir nesne oluşturduğumuzda, bizden bu metodu örtmemiz (gövdesini yazmamız) istenir.

OnClickListener farklı biçimlerde kullanılabilir. Ancak tanıtacağımız ilk yönteme geçmeden önce xml tasarımımızı yapmalı ve komponentleri Java’da tanıtmamız gerekir.

Bunun için önce kullanacağımız görselleri, (yukarıda class tanımından sonra onCreate metodundan önce) Java nesnesi olarak deklare ederiz.

İlk yöntemimizde; aktivitemizin içerisine (MainActivity.java dosyasına) View.OnClickListener arayüzünü uygulayan (implement eden) dahili (iç) bir sınıfı tanımlarız. Bu sınıfı dahili tanımlamamızın nedeni en başta deklare ettiğimiz global değişkenlerin (bu örnekte btn ve tv) , bu sınıf içinde de tanınıyor olmasıdır.

Daha sonra bu sınıftan oluşturacağımız bir nesneyi, dinleyeceğimiz (tıklandığında bir metodu çalıştırmak isteyeceğimiz) görsele (butona) atayabiliriz. (14. ve 15. satır)

Özetle View.OnClickListener arayüzünü uygulayan (dolayısıyla onClick isimli bir metodu olan) Dinleyici sınıfından oluşturduğumuz dinleyici ismindeki nesneyi butonumuza atadık.

Sonuçta butona tıkladığımızda, bu dinleyici nesnesinin ait olduğu sınıftaki onClick() metodu çalıştırılacak ve TextView’e “Yaşasın Program Çalışıyor !” String’i yazdırılacaktır.

Daha sonra tekrar tıkladığımızda yine metot çalıştırılacaktır. Ancak aynı mesaj yazdırılacağı için değişikliği fark etmeyebiliriz.

Şimdi örneğimizi biraz değiştirelim. Butona tıklandığında sabit bir mesajı yazdırmak yerine bir EditText ile kullanıcıdan alacağımız bir String’i yazdıralım. Bunun için XML dosyamıza bir EditText ekleyip, buna bir id ataması yapıyoruz.

Aktivitemizde (Java MainActivity.java’da) bu yeni görseli de deklare edip,
atamasını yapmamız gerekir.

Daha sonra dinleyici sınıfımızın onClick metodunu güncellemeliyiz(24.Satır). Bu defa EditText kutusundan bilgiyi alıp String’e dönüştürüyoruz.

Son olarak bu String’i tv TextView’ine yazdırıyoruz(24. Satır).

Bir cevap yazın

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