Android 如何通过Kotlin在ListView中获取检查ID?
我尝试从我的ListView中获取选中的项目:Android 如何通过Kotlin在ListView中获取检查ID?,android,listview,kotlin,Android,Listview,Kotlin,我尝试从我的ListView中获取选中的项目: val lvPlayers = findViewById(R.id.ListViewAllPlayers) as ListView; lvPlayers.choiceMode = ListView.CHOICE_MODE_MULTIPLE; lvPlayers.adapter = adapter lvPlayers.setOnItemClickListener { adapterView: Ad
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()));
}
}
val lvPlayers=findviewbyd(R.id.ListViewAllPlayer)作为ListView;
lvPlayers.choiceMode=ListView.CHOICE\u MODE\u MULTIPLE;
lvPlayers.adapter=适配器
lvPlayers.setOnItemClickListener{
adapterView:adapterView,视图1:View,i:Int,l:Long->
Toast.makeText(applicationContext,lvPlayers.checkedItemCount.toString(),
吐司。长度(短)。show();
var checked=lvPlayers.checkedItemIds;
SharedData.SelectedPlayer.clear();
对于(签入){
SharedData.SelectedPlayers.add(players.get(ch.toInt());
}
}
但它对我不起作用。我试图使用中的代码,但据我所知,Kotlin无法迭代
SparseBooleanArray
那么,您能帮我获取ListView的检查ID吗?我是否应该创建一个扩展方法来迭代
SparseBooleanArray
?
或者,也许是其他方式
我明白,Kotlin不能迭代SparseBooleanArray
Kotlin的for
可以迭代任何内容,如果它提供了迭代器()
,那么它可以是一个方法或一个扩展函数。这是你的电话号码
您可以将SparseBooleanArray#迭代器
实现为一个扩展函数,并让代码正常工作
我明白,Kotlin不能迭代SparseBooleanArray
Kotlin的for
可以迭代任何内容,如果它提供了迭代器()
,那么它可以是一个方法或一个扩展函数。这是你的电话号码
您可以将
SparseBooleanArray#迭代器
实现为一个扩展函数,并让您的代码正常工作。您可以通过其索引对数组进行迭代,方法是:
for (i in 0..a.size()-1) {
//access to a[i]
}
另见和
2017年3月27日编辑:
您还可以使用等效的
for (i in a.indices) {
//access to a[i]
}
您可以通过索引在数组上迭代,方法是:
for (i in 0..a.size()-1) {
//access to a[i]
}
另见和
2017年3月27日编辑:
您还可以使用等效的
for (i in a.indices) {
//access to a[i]
}
您的代码的格式设置已关闭。请检查代码的格式是否已关闭。请检查您是否忘记了
size-1
您忘记了size-1