Android 最后一个复选框与其他所有复选框相连
Android last checkbox is connected with every other checkbox
我已经动态创建了一个复选框列表,问题是这样的,
示例:我有以下复选框
check1[]check2[]check3[]check4[]check5[]
现在,如果我点击 check1,check5 就会被选中
同check2,3,4。
如果我点击 check5 然后只点击 check 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 做的事吗?还是我完全遗漏了一些明显的东西?
在您的 for 迭代中,您始终使用相同的可绘制复选框。要修复它,请将您的 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);
}
我已经动态创建了一个复选框列表,问题是这样的,
示例:我有以下复选框
check1[]check2[]check3[]check4[]check5[]
现在,如果我点击 check1,check5 就会被选中
同check2,3,4。 如果我点击 check5 然后只点击 check 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 做的事吗?还是我完全遗漏了一些明显的东西?
在您的 for 迭代中,您始终使用相同的可绘制复选框。要修复它,请将您的 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);
}