Android CheckBox全选

时间:2013-02-08 06:35:10

标签: android checkbox

我陷入困境。我有一个列表视图,其中包含多个项目和一个复选框。现在,当有人按下全选按钮时,我已实现了一项功能,应选择所有列表视图项目复选框,反之亦然。

现在我必须按下全部选择后,如果用户取消选中列表项中的某些项目,那么选择所有按钮应该自动取消检查。

 /** Select All checkbox functionality here.. */
        mcbSelectAllContact
        .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                groupListAdapter = new GroupMemberListAdapter(
                        buttonView.getContext(), isChecked);
                mlvGroupContactList.setAdapter(groupListAdapter);
                if (mcbSelectAllContact.isChecked()) {
                    for (int i = 0; i < mBooleanArray.length; i++) {
                        mBooleanArray[i] = true;
                    }
                } else {
                    for (int i = 0; i < mBooleanArray.length; i++) {
                        mBooleanArray[i] = false;
                    }
                }
            }
        });

2 个答案:

答案 0 :(得分:0)

您应为所有复选框设置setOnCheckedChangeListener,无论何时取消选中,都要更改mcbSelectAllContact以取消选中。

答案 1 :(得分:0)

试试这个:

我尝试从列表视图中获取复选框并设置选中true。我希望这会对你有所帮助

 selelctAll_button.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {

            if (listview.getCount() > 0) {
                for (int i = 0; i < listview.getCount(); i++) {
                    View view = listview.getChildAt(i);
                    CheckBox check=   (CheckBox)view.findViewById(R.id.checkBox);
                    check.setChecked(true);
                }
        }
        }
    });