0

我有 simplelistview(非自定义)和 simple_list_item_multiple_choice 和一个按钮。我想找出用户单击按钮时选中的复选框。我正在使用以下代码:

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();
                }
             }  
        });
    }

问题:无论是否被点击,它都会显示所有项目为选中状态。根据 的功能getCheckedItemPositions(),它应该只返回选中的复选框。

目前,我lv.isItemChecked(i)在 for 循环中使用了它,它告诉我是否选中了此复选框。但是这种方式是不正确的,因为如果列表中有 100 个项目,那么我的循环将运行 100 次。

请帮帮我!!

4

0 回答 0