我有具有被动态创建在TableRow
CheckBox
一个Button
add_Connection
启用按钮。机器人:如果复选框中的TableRow被选中
我想启用如有CheckBox
被检查add_Connection
, 当我使用此代码Button
启用禁用工作正常,但如果我检查CB1和CB2按钮启用 如果我未选中CB2和CB1仍处于选中它点击完成后禁用Button
。
这里
cb: check box
add_connection: Button
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
add_Connections.setEnabled(isChecked);
}
});
我想你没有正确管理状态。您需要跟踪所有复选框,如果其中任何一个选中或不选中。因为您取消选择cb2,上下文仅在该复选框的周围,因此isChecked == false。你需要一个复选框列表,看看它们是否被选中。按钮应该做这个检查,遍历列表,每当它发现一个复选框被选中时,启用按钮并返回。 –
我创造了动态 如果使用3 CB的复选框,CB1,CB2,CB3所有被点击和他们中的任何两个未被选中,一个被选中它仍然禁用该按钮 –
以及肯定的,因为你做的最后一个动作是你取消选择复选框并自动触发回调add_connection.setEnabled(false)。它不知道其他复选框的状态。刚刚意识到,您需要在复选框回调中不选中按钮,因为您从复选框控制按钮 –