Android onclicklistener on Dynamic复选框并检查复选框是否已选中
我想在动态Android onclicklistener on Dynamic复选框并检查复选框是否已选中,android,checkbox,dynamic,onclicklistener,Android,Checkbox,Dynamic,Onclicklistener,我想在动态复选框上应用onclicklistener 并检查复选框是否为单击,然后在ArrayList中添加getid,如果复选框未选中,则从ArrayList中删除getid for (int i = 0; i < array.length(); i++) { //getting product object from json array JSONObject product = array.getJSONObject(i); cb = new CheckBox(getAppli
复选框上应用onclicklistener
并检查复选框是否为单击,然后在ArrayList
中添加getid
,如果复选框未选中,则从ArrayList
中删除getid
for (int i = 0; i < array.length(); i++) {
//getting product object from json array
JSONObject product = array.getJSONObject(i);
cb = new CheckBox(getApplicationContext());
cb.setText(product.getString("service_name"));
cb.setId(product.getString("id"));
cb.setTag(product.getString("id"));
linearMain.addView(cb);
}
buttons.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
cb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (cb.isChecked()) {
testoo.add(cb.getId());
} else {
testoo.remove(cb.getId()); //checkbox unchecked
}
}
});
}
});
for(int i=0;i
有一种更简单的方法可用,您不必在点击复选框
,复选框
时进行中继,就可以在复选框
中检查更改状态,您可以设置如下所示的侦听器
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked)
testoo.add(cb.getId());
else
testoo.remove(cb.getId());
}
});