我已经动态创建了一个复选框列表,问题是这个,
示例:我有以下复选框
check1 [] check2 [] check3 [] check4 [] check5 []
现在,如果我点击check1,那么现在检查check5
与check2,3,4相同。 如果我点击check5然后只点击检查5 但当我检查复选框的IsChecked()状态时,只有单击的复选框为真(即使复选框显示图形,也不检查5,除非我实际点击了它)
反之亦然,如果我取消勾选check1然后check5取消选中
LinearLayout linearChildren = (LinearLayout) findViewById(R.id.linEvents);
Resources res = getResources();
Drawable checkbox = res.getDrawable(R.drawable.custom_checkbox_design);
for (int count = 0; count < numberOfEvents; count++) {
CheckBox event = new CheckBox(ActivityAttend.this);
event.setText(todaysEvents.get(count).getEventName());
event.setButtonDrawable(checkbox);
linearChildren.addView(event);
}
这是使用setButtonDrawable做我的事吗?还是我完全错过了一些明显的东西?
答案 0 :(得分:0)
在for for iteration中,您始终使用相同的复选框drawable。要修复它,请将Drawable移动到for循环中。
LinearLayout linearChildren = (LinearLayout) findViewById(R.id.linEvents);
Resources res = getResources();
for (int count = 0; count < numberOfEvents; count++) {
Drawable checkbox = res.getDrawable(R.drawable.custom_checkbox_design);
CheckBox event = new CheckBox(ActivityAttend.this);
event.setText(todaysEvents.get(count).getEventName());
event.setButtonDrawable(checkbox);
linearChildren.addView(event);
}