Pilihan Dropdown dalam Android Kotlin

Pada gambar diatas ketika saya tekan tanda panahnya maka akan tampil beberapa pilihan

1. Deklarasi dalam File XML

Bukalah file res/layout/activity_main.xml lalu masukan kode berikut ini:

<TextView
android:id=”@+id/textView4″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Agama :”
android:paddingLeft=”10dp”
app:layout_constraintStart_toStartOf=”parent”
app:layout_constraintTop_toBottomOf=”@+id/rgJkel”
/><Spinner
android:id=”@+id/spAgama”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
app:layout_constraintTop_toBottomOf=”@id/rgJkel”
app:layout_constraintLeft_toRightOf=”@id/textView4″/>

Keterangan:

  • spinner adalah objek yang digunakan untuk membuat pilihan dropdown
  • app:layout_constraintStart_toStartOf=”parent”, kode ini berarti sisi kiri objek letaknya di sisi kiri parent (parent adalah objek tempat dia berada)
  • app:layout_constraintTop_toBottomOf=”@+id/rgJkel”, kode  ini berarti sisi atas objek berada dibawah objek yang mempunyai id rgJkel
  • app:layout_constraintLeft_toRightOf=”@id/textView4″, kode ini berarti sisi kiri objek berada di sisi kanan objek yang mempunyai id textView4

2. isi data dropdown

Bukalah file res/values/strings.xml lalu masukkan kode berikut ini:

<string-array name=”agama”>

<item>islam</item>
<item>Kristen</item>
<item>Budha</item>
<item>Hindu</item>

</string-array>

3. import widget

Bukalah file MainActivity.kt lalu masukkan kode berikut ini:

import android.widget.Spinner

4. Ambil Nilai Spinner dengan kode

Bukalah file MainActivity.kt lalu masukkan kode berikut ini:

val spAgama : Spinner = findViewById(R.id.spAgama)

val agama = resources.getStringArray(R.array.agama)

val adapter = ArrayAdapter(
this,
android.R.layout.simple_spinner_item, agama
)

spAgama.adapter = adapter
spAgama.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
override fun onItemSelected(
parent: AdapterView<*>?,
view: View?,
position: Int,
id: Long
) {
val agamaTerpilih = agama[position]
Toast.makeText(applicationContext, “Agama yg dipilih : $agamaTerpilih”, Toast.LENGTH_LONG).show()
}

override fun onNothingSelected(parent: AdapterView<*>?) {
TODO(“Not yet implemented”)
}
}

Keterangan:

  • val spAgama : Spinner = findViewById(R.id.spAgama),  kode ini digunakan untuk mengambil objek dalam file XML yang mempunyai id spAgama
  • val agama = resources.getStringArray(R.array.agama), kode ini digunakan untuk mengambil  string-array yang mempunyai name agama dalam file res/values/strings.xml dan memberikannya ke variabel agama
  • val adapter = ArrayAdapter(this,android.R.layout.simple_spinner_item, agama), kode ini digunakan untuk membuat tampilan isi untuk objek Spinner
  • spAgama.adapter = adapter, kode ini berarti kita memberikan isi dari adapter ke spAgama.adapter
  • spAgama.onItemSelectedListener, kode ini berarti ketika kita memilih salah satu pilihan dalam drodpdown maka kode dalam event onItemSelectedListener ini akan dijalankan

5. Jalankan Aplikasi

Pilih virtual devicemu lalu tekan tombol Play