모든 행 끝에 체크 박스가있는 테이블을 생성했습니다. 해당 행에서 선택란을 선택하면 특정 행의 모든 값을 합산하려고합니다. 따라서 특정 행에서 확인란을 선택했는지 확인해야합니다. 지금까지 나는이 있습니다특정 행에 체크 박스가 선택되어 있는지 확인하는 방법은 무엇입니까?
btnCalculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
int sum = 0;
for(int i=0; i<rowNumber; i++) {
if(cb.isChecked()) {
sum = sum + rowSums[i];
}
}
txtResult.setText(String.valueOf(sum));
} catch (Exception e) { }
}
});
일반적으로, 내가 행을 withing에 모든 셀의 값에 액세스 할 수 있습니다 내가 행 내부에 그 모든 값을 요약 할 수 있어요. 그러나 합계 안에 if 문을 추가하면 항상 0이됩니다. 문제가 무엇인지 압니다. 나는 그 특정 행에 체크 박스가 체크되어 있는지 확인해야한다는 것을 알고있다. 하지만 어떻게해야할지 모르겠다. 그건 그렇고 행 안의 모든 체크 박스에 대해서도 ID를 설정합니다. 예를 들어, 첫 번째 행의 확인란의 ID는 0이고 두 번째 행의 ID는 1 등입니다. 그래서 나는 그 특정 체크 박스에 액세스하고 체크되어 있는지 확인해야합니다.
EDIT (SOLVED)는 I는 CheckBox
어레이 내부 각 체크 박스를 저장. 그럼 내 for 루프에서, 나는 그 특정 CheckBox
을 불렀다. 그리고 그것은 잘 동작했다. for 루프에서
private CheckBox cb;
private CheckBox [] cbs;
:
cbs[i] = cb;
그리고 내 루프 : 모든 확인란이 선택 될 때, 그래서 당신은 체크 박스에 대한 리스너를 만들 수 있습니다
for(int i=0; i<rowNumber; i++) {
if(cbs[i].isChecked()) {
sum = sum + rowSums[i];
}
}
Android에서 'ID가 없음'을 의미하므로보기에 id = 0을 사용하지 마십시오. 팁을 주신 덕분에 – Ridcully
. 나는 그것을 지금 바꿀 것이다. 나는 체크 박스 ID를 가진 특정 체크 박스를 잡는 것과 같은 방법을 찾고있다. – rawsly