Java 动态复选框android

Java 动态复选框android,java,android,c++,checkbox,Java,Android,C++,Checkbox,我已经在表格布局中动态创建了复选框。我需要我的第一个复选框在开始时应启用,其余复选框不应启用,然后如果我单击我的第一个复选框,则第二个CB应启用,依此类推 使用复选框创建表格。 TableLayout ll = (TableLayout) findViewById(R.id.tablelayout22); final TableRow tr = new TableRow(this); LayoutParams lp = new LayoutPar

我已经在表格布局中动态创建了复选框。我需要我的第一个复选框在开始时应启用,其余复选框不应启用,然后如果我单击我的第一个复选框,则第二个CB应启用,依此类推

使用复选框创建表格。

TableLayout ll = (TableLayout) findViewById(R.id.tablelayout22);


final TableRow tr = new TableRow(this);                       
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);

tr.setId(i);                  
tr.setLayoutParams(lp);
lp.setMargins(10, -10, 15, 5);

CheckBox feature1=new CheckBox(this);
feature1 = new CheckBox(this);
feature1.setId(i);

final TextView fin = new TextView(this);
fin.setLayoutParams(lp);
fin.setText(FinancialYear1);

tr.addView(feature1);
tr.addView(fin);

ll.addView(tr, new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
一旦选中更改列表

feature1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        @Override
 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if (isChecked) {
        //......
    }                               
    else{


    //......
    }

如果要将first CB设置为true,则必须添加以下代码:

boolean b = true;
feature1.setEnabled(b)
值为
b
时,执行所有您想执行的操作

在continue中,如果您首先签入了
OncheckChangedListener
,则必须获取CB的id,并用您想要做的一切更改另一个CB

更新/////

您拥有所有id,因此必须将其保存在某个列表或数组中,当用户在for语句中点击一个CB时,我将为您编写半代码:

 for ( int i = 0 ; i < list.size ; i++)
 {
  if (!list.get(i).equal (id))
  {
    Checkbox ch = findViewByid(list.get(i);
    /// do what you want to other checkbox 
  } 
  else
     /// do what you want with checked CB
 }
for(int i=0;i

抱歉,因为我不在任何IDE附近测试我的代码,抱歉代码错误,我希望这可以帮助您

我的第一个CB应该在开始时启用,而不是选中。启用是什么意思?当我选中第一个CB时,第二个应该启用。默认的第二个第三个etc被禁用。