我生成了一個表格,每一行末尾都有複選框。如果在該行中選中該複選框,我想對特定行中的所有值進行求和。因此,我需要檢查該特定行中的複選框是否被選中。到目前爲止,我有這樣的:如何檢查特定行中是否選中複選框?
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,第二行爲1,依此類推。所以我只需訪問特定的複選框並檢查它是否被選中。
EDIT(解決) 我存儲在CheckBox
陣列內的每個複選框。然後在我的循環中,我調用了特定的CheckBox
,它工作正常。
private CheckBox cb;
private CheckBox [] cbs;
在for循環:
cbs[i] = cb;
我的for循環:
for(int i=0; i<rowNumber; i++) {
if(cbs[i].isChecked()) {
sum = sum + rowSums[i];
}
}
請勿對您的視圖使用id = 0,因爲這意味着Android的「無身份證」。 – Ridcully
哦,謝謝你的提示。我現在要改變它。我只是尋找一種方法喜歡抓住具體的複選框與複選框的ID – rawsly