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 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);