Bu yazımızda Android’de listeleme uygulaması yapacaz.Listeleme olayı bir çok yerde işinize yarayacaktır.Örneğin şehirleri göstermek için liste yapabiliriz.Fakat listview’i varsayılan olarak kullanırsak tek satırda sadece yazı gösterebiliriz.Yani yazıdan başka bir öğeyi liste içinde gösteremeyiz.Bunun için custom listview yapmamız gerekir.Custom listview ile listenin satırlarında istediğimiz gibi verileri gösterebiliriz.
Şimdi uygulamaya geçelim.
Uygulamayı yaparken Android Studio kullanacağız.Yeni proje oluşturduktan sonra sağ taraftaki menüler paletinden ListView ekliyoruz.
ListView
ListView nesnesini ekrana sürükleyip bırakıyoruz.
Daha sonra ise Activity’nin Java dosyasına geçip arkaplanda çalışacak kodlarımızı yazalım.
import android.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; public class Liste extends AppCompatActivity { String[] liste={"İsim0","İsim1","İsim2","İsim3","İsim4","İsim5"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_liste); ListView listView=(ListView)findViewById(R.id.listView); ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,liste); listView.setAdapter(adapter); } }
Satır 11 : String tipinde bir dizi oluşturduk ve listenin elemanlarını bu dizi içine aktardık.
Satır 16 : Xml dosyamızda ki listemizi id’si ile bulup yeni bir öğe oluşturduk.Ordaki liste ile burada bağlantı kurduk.
Satır 17 : ArrayAdapter ise liste ile dizi içindeki verileri birbirine bağlamak için kullanılır.Yeni bir ArrayAdapter nesnesi oluşturduk ve bu komut ile varsayılan liste şablonlarından kullanarak listeyi oluşturduk
android.R.layout.simple_list_item_1
Satır 18 : Bu satırda ise Xml dosyasında ki liste görünümünü ArrayAdapter sayesinde veriler ile bağladık.
Listenin öğesine tıklayınca yazısını Toast mesajı ile göstermek için setOnItemClickListener ile pozisyonunu bulup string’e çevirebiliriz.Bu sayede listede bulunan yazıyı istediğimiz şekilde kullanabiliriz.
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(context, listview.getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show(); } });