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);
    }