Я пытаюсь найти способ отслеживать все мои отмеченные элементы в пределах ListView
из CheckBoxes.
В настоящее время я создаю свой настраиваемый адаптер для обработки всего, но могу отслеживать все мои отмеченные элементы, чтобы впоследствии я мог удалить отмеченные элементы нажатием кнопки.
IЯ не уверен, как справиться с этим. Я потратил несколько часов на поиск в Google, как это сделать, но большинство из них использует Java, и я не уверен, как правильно перевести его использование на Kotlin или даже если это будет применимо для моего приложения для Android. Если бы кто-нибудь мог мне помочь, то был бы очень признателен
DSArrayAdapter.kt - Мой пользовательский адаптер массива:
class DSArrayAdapter(context: Context, resource: Int, list: ArrayList<Contacts>) : ArrayAdapter<Contacts>(context, resource, list) {
private val inflater: LayoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
override fun getView(position: Int, convertView: View?, parent: ViewGroup) : View {
val rowView = inflater.inflate(R.layout.activity_listview, null)
val item_name = rowView.findViewById<TextView>(R.id.contact_name)
val item_checkbox = rowView.findViewById<CheckBox>(R.id.checked)
item_name.setText(getItem(position)?.cname.toString())
item_checkbox.setOnClickListener(View.OnClickListener{
val contact = getItem(position) as Contacts
contact.cchecked = !contact.cchecked
item_checkbox.isChecked = contact.cchecked
})
})
return rowView
}
}
Contacts.kt - Мой класс для хранения свойств записей моих контактов:
class Contacts(val cname: String, val cphone: Int, val cchecked: Boolean) {
}