package com.example.mytodoapp import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.SparseBooleanArray import android.widget.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val itemList = arrayListOf() var adapter = ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice, itemList) val bAdd: Button = findViewById(R.id.button_add) val bDel: Button = findViewById(R.id.button_delete) val bClr: Button = findViewById(R.id.button_clear) val eTxt: EditText = findViewById(R.id.editText_todo) val lView: ListView = findViewById(R.id.list_todo) bAdd.setOnClickListener { itemList.add(eTxt.text.toString()) lView.adapter = adapter adapter.notifyDataSetChanged() eTxt.text.clear() tm("ToDo added to the list!") } bDel.setOnClickListener { val positions: SparseBooleanArray = lView.checkedItemPositions var items = lView.count - 1 while (items > 0) { if (positions.get(items)) { adapter.remove(itemList.get(items)) } items-- } positions.clear() adapter.notifyDataSetChanged() tm("Checked items deleted!") } bClr.setOnClickListener { itemList.clear() adapter.notifyDataSetChanged() tm("List cleared!") } lView.setOnItemClickListener { adapterView, view, i, l -> tm("Check: -->" + itemList.get(i)) } } fun tm(message: String) { Toast.makeText(applicationContext, message, Toast.LENGTH_SHORT).show() } }