Android uygulama geliştirme yazıları kapsamında uygulamamıza bir adet liste ekledik. Bu listeyi ana ekranın tam ortasına 5. yazmızda ekledik. Bu büyük bir adım ancak listemiz tam istediğimiz gibi henüz değil. Şimdilik liste üzerinde sadece bilgileri kullanıcıya gösteriyoruz. Kullanıcı listeden bir bilgiye bastığında ne olacak ? Hiç bir şey ! Kimi uygulamalarda hiç bir şey olmaması yeterlidir. Yani sadece liste üzerinde bilgileri göstermek yeterlidir ancak bizim uygulamamızda yeterli olmayacak. ListView elemanı yakalamak gerekiyor. Yakaladığımız elemana göre yazı açacağız (ileride). Şimdilik sadece yakalanan elemanın bilgisini vereceğiz.
ListView Elemanı Yakalamak Kodları
Listemize oluşturduğumuz custom Adaptörü hatırlıyorsanız bağlamıştık. Bunu Android uygulama geliştirme yazılarımın 6.sında yapmıştık. Tıpkı bu adaptörü bağladığımız gibi şimdi de bir OnItemClickListener bağlayacağız.
Bu sınıftan yararlanarak oluşturduğumuz obje sayesinde listede basmış olduğumuz elemanı çok kolay bir şekilde yakalayabileceğiz. Bu nesneyi oluşturur oluşturmaz hemen içerisine onItemClick fonksiyonunu override etmeniz gerekiyor.
İşin aslında bu fonksiyon bizim için her şeyi yapıyor. Bu fonksiyon sayesinde ekrandaki görüntüyü veya tıklanan elemanın indeksini alabiliriz. Aslında çok daha fazla şeyleri bile alabiliriz ancak bize indeksi alsak yeterlidir. Liste üzerinde çalışıyorsanız bu indeksi listede kullanabilirsiniz. Listeden bu indekse sahip elemanı aldığınız zaman istediğinizi yapabilirsiniz.
Bu fonksiyon içerisinde istediğiniz işlemi yapabilirsiniz. Ben ListeTiklama adında bir fonksiyon oluşturdum ve bu fonksiyona parametre olarak indeksi aldım. Bu fonksiyon ile ekrana Toast şeklinde indeksi yazdıracağım. Siz fonksiyon içerisinde tamamen hayal ettiğiniz şeyi yapabilirsiniz.
Projenin kodlarını GitHub‘dan bulabilirsiniz.
Çocukluğumdan beri arabalara olan ilgim babam sayesinde başlamıştır. Araba manyağı seviyesinde bir ilgim var ancak bunu her ortamda dile getirmem. Teknolojiye ve bilgisayara olan ilgim kendimi tanımaya başladım başlayalı oldu. Şimdi ise kendimce kod yazabilen bir bilgisayar mühendisi olarak çalışıyorum.