我需要找到一种方法来检索使用下面列出的代码创建的复选框的检查状态:
for (int i = 0; i < cnt; i++) {
cb = new CheckBox(getApplicationContext());
TextView txt = new TextView(getApplicationContext());
final LinearLayout ll2 = new LinearLayout(
PollActivity.this);
ll2.setOrientation(LinearLayout.HORIZONTAL);
ll2.addView(txt);
ll2.addView(cb);
txt.setText(PersianReshape
.reshape(last_poll_array[i][1]));
txt.setTypeface(face);
ll.setGravity(Gravity.RIGHT);
ll2.setGravity(Gravity.RIGHT);
ll.addView(ll2);
}
sc.addView(ll);
任何指导都将不胜感激。
答案 0 :(得分:4)
我认为你必须使用for循环检查是否选中了复选框
cb.isChecked()==true;
并且对于每个复选框使用整数数组,保存值为“0”表示true,“1”表示false。
您可以保存此文件,SharedPrefrences或CoreData,以便下次运行应用程序时它将保留相同的值
答案 1 :(得分:2)
你可以像这样检查你的孩子:
boolean oneChecked = false;
View v = null;
for(int i=0; i<ll2.getChildCount(); i++) {
v = ll2.getChildAt(i);
if (v instanceof CheckBox) {
if (((CheckBox) v).isChecked()) {
oneChecked = true;
break;
}
}
}
if (oneChecked) {
// Do whatever you like if one CheckBox is checked
}
答案 2 :(得分:0)
此代码使您可以存储checkBox的ID。我开发了Michael Schmidt的代码。非常感谢,Michael !!
ArrayList<Integer> check = new ArrayList<Integer>();
for(int k=0;k<ll.getChildCount();k++){
View v = ll.getChildAt(k);
if(v instanceof CheckBox){
if(((CheckBox)v).isChecked()){
check.add(ll.getChildAt(k).getId());
}
}
}
答案 3 :(得分:0)
试试这个:
if(chckbxcuger.isSelected())rezultatas.setText("cuger");
if(chckbxmilk.isSelected())rezultatas.setText("milk");
if(chckbxCukrus.isSelected()&&chckbxPienas.isSelected())rezultatas.setText("cuger and milk");
答案 4 :(得分:0)
签入文件:
if (checkBox.isChecked()) {
checkBox.setChecked(false);
}
点击此链接:https://developer.android.com/reference/android/widget/CheckBox.html