버튼이 Select All
입니다. 클릭하면 listview
에있는 check boxes
이 모두 확인되어야합니다. 동일한 버튼으로 텍스트를 Clear All
으로 변경합니다. 클릭하면 모든 체크 박스가 선택 취소되어 텍스트가 Select All
... (으)로 되돌아갑니다. ...select all/clear all 버튼을 선택하고 체크 표시를하지 않으려면
그러나 listview
에서는 두 번째 버튼이 선택되거나 선택 해제됩니다. Select All
을 클릭하면
는 checkbox 1
, 3
및 5
이 확인된다. Checkbox 2
및 4
이 선택 취소됩니다. 텍스트가 Clear All
으로 바뀝니다.
Clear All
을 클릭하면 checkbox 1
, 3
및 5
이 선택 취소됩니다. Checkbox 2
및 4
이 확인됩니다. 텍스트는 Select All
으로 바뀝니다.
내 코드에 어떤 문제가 있는지 알 수 없습니다. 또는 어쩌면 내 앱의 다른 부분에있는 것이지만 오류나 경고가 없으며 디버깅을 시작할 위치가 확실하지 않습니다. 감사.
if(btnCheckAll.getText().toString().equalsIgnoreCase("Select All")) {
checkbox.setChecked(true);
btnCheckAll.setText("Clear All");
}else if (btnCheckAll.getText().toString().equalsIgnoreCase("Clear All")){
checkbox.setChecked(false);
btnCheckAll.setText("Select All");
}
이 if
루프 내부에, 그래서 각 루프에 SWICH는 turining로 끌 역할 :
btnCheckAll.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
int count = MatchingContactsAsArrayList.size();
for (int i = 0; i < count; i++) {
LinearLayout itemLayout = (LinearLayout) listView.getChildAt(i); // Find by under LinearLayout
CheckBox checkbox = (CheckBox) itemLayout.findViewById(R.id.checkBoxContact);
if(btnCheckAll.getText().toString().equalsIgnoreCase("Select All")) {
checkbox.setChecked(true);
btnCheckAll.setText("Clear All");
}
else if (btnCheckAll.getText().toString().equalsIgnoreCase("Clear All")){
checkbox.setChecked(false);
btnCheckAll.setText("Select All");
}}}});