0

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

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

 /** 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;
                    }
                }
            }
        });
4

2 回答 2

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);
                }
        }
        }
    });
于 2013-02-08T07:11:51.710 回答
0

您应该设置setOnCheckedChangeListener所有复选框,并且每当未选中一个时,将其更改mcbSelectAllContact为未选中。

于 2013-02-08T06:39:04.583 回答