8 Mayıs 2011 Pazar

Android Programlama ListView Yapısı ve OnItemClickListener Kullanımı

ListView yapısı listeleme yapmaya yarar .Bu liste elemanlarına onClick özelliği de eklemek mevcuttur.


Java Kodu

ListView listele;  //tanımlama yapıldı  listview i kullanabilmek için

String liste_elemanlari[]={"Muhendislik","FenEdebiyat","YabanciDil","GuzelSanatlar","Egitim"};  //ekranda listelenecek liste elemanları diziye atandı.

//Bundan sonraki kısımda layout ekranındaki listView e dizi elemanları atanacak önemli bir not olarak listeleme yapacagınız layout penceresini   * ile işaretlediğim gibi ekleyin.     
**  setContentView(R.layout.fakulteler);
 listele =(ListView)findViewById(R.id.liste);  //xml dosyasındaki listView  id ile java dakı tanımlanan listView e cekildi 

 listele.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , liste_dizi));  //Bu şekilde dizi elemanları ekrandaki listView e aktarıldı
            listele.setTextFilterEnabled(true);            //görünüme acıldı
        
//liste elemanları na on click ozelliği ekleme için alt kısımdaki kodlama yapılır
  listele.setOnItemClickListener(new OnItemClickListener() { //listedeki tüm elemanlar için clıck ozellıgı yazıldı
           
          public void onItemClick(AdapterView<?> a, View v, int position, long id) {
                          //tıkalnan yerdeki eleman için onclik özelliği eklendi
                       //Bu kısımda tıklama için istenilen ne ise o yazılır                     
                } 
});


Xml kodu     


<ListView android:id="@+id/liste"    //id si liste olan listView tanımlandı

android:layout_width="fill_parent"     //listenın genıslıgı ekranın enıne tamamen olacak

android:layout_height="fill_parent" />     //listView in yuksekliği de ekranın tamamını kaplayacak
         

1 yorum:

  1. merhaba,
    listview de listelemeyi yapıyorum ama tıladığım zaman webview açılmasını istiyorum.

    ör: listview de google facebook twitter gibi liste oluşturuyorum listview den hangisine tıklarsam onun sayfası açılsın istiyorum yapamadım yardımcı olurmusunuz.
    şimdide teşekkürler.

    YanıtlaSil