Button ve TextView Kullanımı | AS5

500

Button ve TextView Kullanımı | Android Serisi 5. Tutorial

En son yazımda (Hello World ve Android Studio 2 | AS4) Android’e hafif bir giriş yapmış ve karşımızda “Hello World!” diye bir ekran görmüştük. Bugün Android’in komponentlerinden olan Button ve TextView kullanarak butonumuza her basıldığında textview’deki sayımızın bir artmasını sağlayacağız. Önce geçen tutoriallarda yaptığımız gibi proje oluşturalım. Projenin ismini ben ButonSayac koydum.

Proje açıldığında bildiğimiz gibi bize hazır bir textview zaten geliyor, textview’e tıklayınca sağ tarafta textview’in proprties’lerini yani özelliklerini görecez. Diğer tüm komponentlere tıklayınca da bu şekilde sağ tarafta o komponentin özelliklerini görebiliriz. Oradan text özelliğine 0 yazalım. Çünkü uygulamamız her açıldığında butona daha basılmadığı için sıfır değerini göstermeli textview. Bu hamleden sonra butonumuzu ekleyelim. Sol tarafta uygulamaya ekleyebileceğimiz tüm komponentleri görebilirsiniz. Bu bölümden üst tarafta bulunan Button komponentini seçiyor ve ekranımızın ortasına koyuyoruz. En son ekranımızın durumu aşağıdaki gibi oluyor.

 

 

Bu bölümden sonra şimdi iş bu komponentleri sınıfımızda tanımlamaya ve gerekli işlemleri yapmalarını sağlamaya kaldı. MainActivity veya siz ismini değiştirdiyseniz o sınıfımıza gidelim ve işe koyulalım. Layout kısmındaki komponentleri sınıfımızda tanımlamak için findViewById(int) isimli metodu kullanacaz. Biz bir Button ve bir tane de TextView tanımlamak istiyoruz. Android’de her komponent’in aynı zamanda kendi sınıfı vardır. Bu yüzden ne tanımlamak istiyorsak bu metodu kullanıp dönen değeri o komponentin sınıfına atayacağız. Bu metod dönüş değeri olarak View nesnesi döndürür, o yüzden atama işlemini yaparken bir de o komponentin sınıfına cast etmemiz gerekiyor. Metoda parametre olarak da layoutta bulunan komponentin özellikler kısmında yazan id değerini vericez. Bunları yaptıktan sonra komponentlerimiz kullanıma hazır bir şekilde tanımlanmış oluyor.

 

 

Şimdi yapacağımız işlem butona basıldıkça textview ekranındaki sayı bir artsın. Bu işlemi komponent sınıflarının metodları ve basit programlama bilgimiz ile kolayca gerçekleştirebiliriz. Kullanacağımız metodlar button nesnesi için setOnClickListener(), textview nesnesi için ise setText(). Bir butona tıklandığını kontrol etmek için ve butona tıklandığında gerekli işlemleri yapmak için setOnClickListener() metodu kullanılır ve bunun içine gerekli kodlar yazılır. Bir textviewin text değerini değiştirmek için de setText() metodunu kullanırız. Yani yapmamız gereken bir int değerini buton nesnesinin metodunun içinde arttırıp textview’e değeri atamak. Ancak burada bir int tanımlayıp içeride bu değeri arttırıp textview nesnesinin setText() metodu ile texti değiştirme yapamıyoruz. Çünkü setOnClickListener metodu dışarıda final tanımlanmamış bir değişkenin kullanımına içerisinde izin vermiyor, final tanımlasak da bu sefer değeri arttıramayız. Bunun için biraz Java Swing’deki komponentlere benzeyen metodlar ve biraz da kurnazlık ile sorunu çözeceğiz. Aşağıdaki çözüme bakmadan bunu biraz düşünün.

 

 

Kodumuzu da yazdıktan sonra artık Run tuşumuza basıp uygulamamızı çalıştırabiliriz. Uygulamanın çalışır halinin ekran resimleri aşağıdadır. Bu şekilde her komponente kendi sahip olduğu metodlar eşliğinde istediğiniz işlemi yaptırabilirsiniz.

 

        

Yorum yaz

Email adresiniz yayınlanmayacaktır.