Kotlin Android Extensions: Elveda findViewById

Android uygulama geliştirmeye başladığınızda belki de ilk karşılaşacağınız ve viewleri bind etmeyi sağlayan metod findBiewById ye Kotlin Android Extension ile veda ediyoruz. Eğer daha önceden ButterKnife kullandıysanız zaten çoktan bu metodu hayatınızdan çıkarmışsınızdır. Artık ButterKnife da gerek yok çünkü Kotlin Android Extension kullanacağız ve viewlere direk olarak idlerinden ulaşacağız (tabi Kotlin kullanıyorsanız 🙂 Java için maalesef -henüz- bu tarz bir kullanım söz konusu değil )

Kotlin Android Extension aslında bir eklentidir. Activity, Fragment ve Viewlerde kullanılabilir. Bu plugin sayesinde binding işlemleri generate edililerek gerçekleştirilir.

Nasıl Kullanılır?

Bu eklentiyi kullabilmeniz için öncelikle alltaki kodların build.gradle dosyasına eklendiğinden emin olun.

Artık kullanmaya başlayabiliriz.

Alttaki gibi bir XML dosyanızın olduğunu düşünün. Örneğin activity_main.xml in tasarımı alttaki gibi olsun.

 

Gördüğünüz gibi XML dosyasında bir tane TextView var ve idsi helloTextView. Şimdi bu TextView in text değerini değiştirmek için MainActivity.kt ye alttaki gibi direk olarak idden ulaşıp değeri değiştirebiliyoruz.

Bu kodları yazdığınızda üstte

eklendiğini göreceksiniz. Artık activity_main.xml içindeki bütün viewlerin idlerine ulaşabiliriz ve değerlerini değiştirebiliriz. İşte bu kadar kolay.

Fragmentlarda kullanımı

Bu eklentiyi Fragmentlarda da kullanabiliyoruz. Ancak bunun için ufak bir detay var. Öncelikle koda bakalım.

Farkettiniz mi bilmiyorum ama onCreateView içinde değilde onViewCreated içinde binding işlemini yaptık. Bunun sebebi şu onCreateView içinde biz inflate işlemini yapıyoruz. Bu işlemden sonra biz binding işlemini yapmamız gerekiyor. Dolayısıyla binding işlemlerimizi onViewCreated içinde gerçekleştiriyoruz.

İşte Kotlin Android Extension kullanımı bu kadar basit.

 

Hepinize mutlu kodlamalar.

Bir cevap yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.