How to dynamically remove an Item from a Spinner in Kotlin

In this android kotlin source code example, we are going to dynamically remove an Item from a Spinner in Kotlin

You can copy and adopt this source code example to your Kotlin android project without reinventing the wheel.

Below is a step by step source code to dynamically remove an Item from a Spinner in Kotlin

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".spinner.SpinnerActivity20">

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"/>

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.kt

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.Spinner
import android.widget.Toast
import com.bluapp.kotlinview.R
import java.util.ArrayList

class SpinnerActivity20 : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_spinner20)
        val spinner = findViewById(R.id.spinner) as Spinner
        val userNames = ArrayList<String>()
        userNames.add("Henry")
        userNames.add("Mark")
        userNames.add("Jack")
        userNames.add("Smith")
        userNames.add("Clark")
        userNames.add("Kelvin")
        userNames.add("Denzel")
        val arrayadapter = ArrayAdapter(this@SpinnerActivity20, android.R.layout.simple_spinner_item, userNames)
        spinner.adapter = arrayadapter
        spinner.onItemSelectedListener = object  : AdapterView.OnItemSelectedListener{
            override fun onItemSelected(parent: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
                userNames.remove(parent?.getItemAtPosition(p2).toString())
                arrayadapter.notifyDataSetChanged();
                Toast.makeText(this@SpinnerActivity20, "Item remove from spinner", Toast.LENGTH_LONG).show()
            }

            override fun onNothingSelected(parent: AdapterView<*>?) {

            }
        }
    }
}

If you have any question or suggestions kindly use the comment box or you can contact us directly through our contact page below.

Add a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.