私は私のListViewコントロールからチェックされた項目を取得しよう:Kotlin経由でListViewでチェックIDを取得する方法は?
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()));
}
}
しかし、それは私のために動作しません。
this questionのコードを使用しようとしましたが、理解しているとおり、KotlinはSparseBooleanArray
を繰り返し処理できません。
ListViewのIDを確認する手助けはできますか?
SparseBooleanArray
を繰り返し処理する拡張メソッドを作成する必要がありますか? または、別の方法ですか?
コードのフォーマットはオフです。 – voddan
を修正してください。http://stackoverflow.com/a/19414593/2392960 – Januson