2013-03-14 111 views
0

我在运行时动态创建了一些复选框,现在我想知道其中一个ckecked或不。我怎么能做到这一点?isChecked在动态创建的复选框

for (int i = 0; i < cnt; i++) { 
        cb = new CheckBox(getApplicationContext()); 
        TextView txt = new TextView(getApplicationContext()); 
        ll2 = new LinearLayout(
          PollActivity.this); 
        ll2.setOrientation(LinearLayout.HORIZONTAL); 

        ll2.addView(cb); 

        ll.addView(ll2); 

       } 
+2

给我们一些代码。需要看看它是如何创建的 – 2013-03-14 08:58:35

+0

我更新了我的任务 – Fcoder 2013-03-14 09:00:52

回答

1

您将需要设置CompoundButton.OnCheckedChangeListener为CheckBox点击复选框时触发事件。例如:

cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) { 

     // do your code here 
    } 
}); 
1

我建议您设置的(环路),每个CheckBox设置OnCheckedChangeListener

cb.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     if (isChecked) { 
     // do some action 
     }  
    } 
}); 

现在您可以处理每个CheckBox的事件。

+0

是的,这应该工作 – 2013-03-14 09:03:53

+0

它不起作用,你能给我一个完整的例子吗?我不能这样做1天,请帮我 – Fcoder 2013-03-14 09:15:00

+0

你怎么知道它不工作? – Sajmon 2013-03-14 09:18:27

0

只要检查其中返回一个布尔值的cb.isChecked()。