Android ListView Kullanımı (Kotlin)

Android ListView Kullanımı (Kotlin)

Kotlin ile ArrayAdapter kullanarak ListView kullanımına değiniyoruz.

Uygulamamız içerisinde ArrayAdapter yapısını kullanarak belirli bir tipteki nesnelerin veya String ifadelerin listelenmesini nasıl sağlayabiliriz buna değiniyoruz.

Bir String listesi oluşturup elemanlarını dahil edelim;

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val meyveler = listOf("Elma", "Armut", "Muz", "Kivi", "Çilek", "Karpuz", "Kavun", "Ananas", "Kiraz", "Dut")

    }
}

Standard layout görüntüsü olarak kullanılan android’in hazır layoutlarından olan simple_list_item_1 adlı layout formatını satır görüntümüzde kullanmak istediğimizi belirterek bir ArrayAdapter üretelim ve bu adapter’a listeyi bağlayalım.

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val meyveler = listOf("Elma", "Armut", "Muz", "Kivi", "Çilek", "Karpuz", "Kavun", "Ananas", "Kiraz", "Dut")
        val adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, meyveler)
        

    }
}

activity_main.xml layout dosyamız içerisine list_view adlı bir ListView nesnesi ekleyelim;

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <ListView
        android:id="@+id/list_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </ListView>
</LinearLayout>

Adapter’ı ListView nesnesine bağlayalım;

class MainActivity : AppCompatActivity() {
    lateinit var list_view: ListView
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val meyveler = listOf("Elma", "Armut", "Muz", "Kivi", "Çilek", "Karpuz", "Kavun", "Ananas", "Kiraz", "Dut")
        val adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, meyveler)
        list_view = findViewById(R.id.list_view)
        list_view.adapter = adapter

    }
}

Liste elemanlarına tıklanma olayını yakalayalım. MainActivity.kt sınıfımız üzerindeki son kodumuz;

class MainActivity : AppCompatActivity() {
    lateinit var list_view: ListView
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val meyveler = listOf("Elma", "Armut", "Muz", "Kivi", "Çilek", "Karpuz", "Kavun", "Ananas", "Kiraz", "Dut")
        val adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, meyveler)
        list_view = findViewById(R.id.list_view)
        list_view.adapter = adapter
        list_view.onItemClickListener = AdapterView.OnItemClickListener { parent, view, position, id ->
            val secilenMeyve = parent.getItemAtPosition(position) as String
            Toast.makeText(this@MainActivity, "Seçilen meyve: $secilenMeyve", Toast.LENGTH_SHORT).show()
        }

    }
}

Keyifli çalışmalar 🙂

You may also like...

Bir cevap yazın

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