我用来创建复选框的代码
try{
for (int i = 0; i < Utstyr.size(); i++) {
cb = new CheckBox(getApplicationContext());
cb.setText(""+Utstyr.get(i));
cb.setTextColor(Color.parseColor("#000000"));
cb.setTag(""+list_sted.get(i));
cb.setTextAppearance(getBaseContext(), android.R.attr.checkboxStyle);
checkbox_lay.addView(cb);
}}
catch(Exception e){
System.out.println("ohh i got busted...!!!");
}
如何获取正在选中哪个复选框的值..我想要复选框的名称
答案 0 :(得分:2)
CheckBox[] chkArray = new CheckBox[Utstyr.size()];//
for (int i = 0; i < Utstyr.size(); i++) {
chkArray[i] = new CheckBox(getApplicationContext());
chkArray[i].setText(""+Utstyr.get(i));
chkArray[i].setTextColor(Color.parseColor("#000000"));
chkArray[i].setTag(""+Utstyr.get(i));
chkArray[i].setTextAppearance(getBaseContext(), android.R.attr.checkboxStyle);
checkbox_lay.addView(chkArray[i]);
}
for (int k = 0; k < Utstyr.size(); k++){
if(chkArray[k].isChecked()){
//Do something
}
}
希望这会有所帮助.. :)
答案 1 :(得分:0)
要使用in循环生成复选框,您不需要设置globalize变量。
for (int i = 0; i < Utstyr.size(); i++) {
cb = new CheckBox(getApplicationContext());
......
}
而不是上面的代码,你必须像下面这样初始化。
for (int i = 0; i < Utstyr.size(); i++) {
CheckBox cb = new CheckBox(getApplicationContext());
......
}
要获取选中的复选框,您必须使用以下代码
int childcount = checkbox_lay.getChildCount();
for (int i=0; i < childcount; i++){
View v = checkbox_lay.getChildAt(i);
if(v instanceof Checkbox){
Checkbox ck=(Checkbox)v;
boolean isSelected = ch.isChecked();
}
}
答案 2 :(得分:-1)
您需要参考这些复选框。 创建一个复选框数组,并在每次创建复选框时添加它,而不是从中获取所需内容...