我有simplelist_item_multiple_choice和一个按钮的simplelistview(非自定义)。我想找出用户在点击按钮上检查的复选框。我使用下面的代码:
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ListView lv = MainActivity.this.getListView();
SparseBooleanArray selectedItems = lv.getCheckedItemPositions();
for (int i = 0; i < selectedItems.size(); i++) {
int selectedPosition = selectedItems.keyAt(i);
Toast.makeText(getApplicationContext(), selectedPosition+": checked", Toast.LENGTH_SHORT).show();
}
}
});
}
问题:它显示所有项目是否已被点击。根据{{1}}的功能,它应该只返回选中的复选框。
暂时,我在内部使用了getCheckedItemPositions()
循环,告诉我这个复选框是否被选中。但这种方式不正确,因为如果列表中有100个项目,那么我的循环将运行100次。
请帮帮我!!