Android ListView Kullanımı

Merhaba,bu yazımda Android Listview nasıl kullanılır ondan bahsedeceğim.

Android Listview, kaydırılabilir bir listede bulunan görsel öğe alan öğeler grubu içeren görünümdür.

Listview sayesinde biz öğelerimizi ekranda sıralı biçimde yani liste şeklinde gösterebiliriz.

Şimdi kısa bir kodlama ile anlatmaya çalışacağım. Öncelikle projemizin xml kısmından ekrana listView ekleyelim.Aşağıda görründüğü gibi düz bir şekilde yazacak verilerimizi.

Şimdi MainActivity kısmından java kodlamamızı yapalım. ListViewi tanımlayalım.

 ListView liste;

Bu tanımlamayı java kısmından çağıracağız. ListViewi daha önce butona textViewe yaptığımız gibi id’sini bulup çağırıyoruz.

liste=(ListView)findViewById(R.id.listview);

Dizinin her elemanı bizim listemizin bir satırını oluştursun.

final  String [] sehirler={"Kayseri","Erzurum","İstanbul","Mersin"};

ListView, içeriği veri kaynağından (string array, array, database vb.) ListView’e ekleyen Adapter sınıflarını kullanır.

Bu elemanları string dizisini göstrebilmek için,bir adaptör tanımlamamız gerekiyor. Adaptör ile liste arasında bir köprü oluşuyor.

 ArrayAdapter <String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,
                android.R.id.text1,sehirler);

        liste.setAdapter(adapter);

1.parametre this, 2.parametre listViewin görüntüsü, 3.parametre ListViewin yazı stili, 4.parametre bizim yazdığımız şehirler.

Adaptör ile listeyi birbirine bağlamak için;

  liste.setAdapter(adapter);

Programı çalıştırdığımızda listemizin düzenli bir şekilde görünümünü elde ettik.

Peki bu şehirlere tıkladığımızda içindeki verilere nasıl ulaşırız ? Aynı butona tıkladığımızda dinleme olayını yaptığımız şekilde listeye Clik olayını ekliyoruz. Fakat butonun kinden farklı olarak ItemClickListener olmasıdır.

 liste.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(MainActivity.this,sehirler[position]+" sectiniz",Toast.LENGTH_SHORT).show();
            }
        });
    }
}

Yorum bırakın