Android最后一个复选框与其他每个复选框相关联

时间:2015-05-16 18:30:44

标签: java android checkbox

我已经动态创建了一个复选框列表,问题是这个,

示例:我有以下复选框

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做我的事吗?还是我完全错过了一些明显的东西?

1 个答案:

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