I try to get checked items from my ListView:
val lvPlayers = findViewById(R.id.ListViewAllPlayers) as ListView;
lvPlayers.choiceMode = ListView.CHOICE_MODE_MULTIPLE;
lvPlayers.adapter = adapter
lvPlayers.setOnItemClickListener {
adapterView: AdapterView<*>, view1: View, i: Int, l: Long ->
Toast.makeText(applicationContext,lvPlayers.checkedItemCount.toString(),
Toast.LENGTH_SHORT).show();
var checked = lvPlayers.checkedItemIds;
SharedData.SelectedPlayers.clear();
for (ch in checked) {
SharedData.SelectedPlayers.add(players.get(ch.toInt()));
}
}
But it does not work for me.
I tried to use the code from this question, but as I understand, Kotlin can not iterate over SparseBooleanArray
.
So, can you help me to get checked ids of ListView?
Should I somehow create an extension method to iterate over SparseBooleanArray
?
Or, maybe some other way?