我陷入困境。我有一个列表视图,其中包含多个项目和一个复选框。现在,当有人按下全选按钮时,我已实现了一项功能,应选择所有列表视图项目复选框,反之亦然。
现在我必须按下全部选择后,如果用户取消选中列表项中的某些项目,那么选择所有按钮应该自动取消检查。
/** 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;
}
}
}
});
答案 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);
}
}
}
});