Java 动态复选框android
我已经在表格布局中动态创建了复选框。我需要我的第一个复选框在开始时应启用,其余复选框不应启用,然后如果我单击我的第一个复选框,则第二个CB应启用,依此类推 使用复选框创建表格。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
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被禁用。