下面是我检查所有强制性代码的代码,这些代码都CheckBox
在“下一步”按钮上进行了检查。总共有17个复选框。但我在“警报”框中显示了此内容,因此它不在View中采用此布局,而在实际布局中不采用已检查项目的数量。请帮助我解决此问题。
public void showConfirmPopup()
{
final Dialog dialog = new Dialog(SubmitViewActivity.this);
dialog.setContentView(R.layout.activity_uikyc);
dialog.setCancelable(false);
Button back=(Button)dialog.findViewById(R.id.btn_bck);
Button next=(Button)dialog.findViewById(R.id.btn_next);
final CheckBox[] checkboxes;
checkboxes = new CheckBox[17];
for(int i=0;i < checkboxes.length; i++){
checkboxes[i] = (CheckBox) findViewById(getIdName("check_" + (i+1)));
}
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog.cancel();
}
});
next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
//int lenCheck = checkboxes.length;
int iCheck = 0;
for(int i=0;i<checkboxes.length;i++){
if(checkboxes[i].isChecked()){
iCheck++;
}
}
Log.e(String.valueOf(iCheck), "count of checked option");
if(iCheck != 17){
Toast.makeText(SubmitViewActivity.this, "Confirm all Checkboxes are checked" , Toast.LENGTH_LONG).show();
dialog.cancel();
}else if(iCheck == 17){
dialog.cancel();
savedetails = new SaveDetails();
savedetails.execute();
}
}
});
dialog.show();
}
试试这个..
像下面每隔17个一样将CheckBox
xml中的id更改为check_1,check_2,check_3 ... check_17
<CheckBox
android:id="@+id/check_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="check_1" />
和java
清除为CheckBox[] checkboxs;
全局变量,如下所示对其进行初始化
checkboxs = new CheckBox[17];
for (int i = 0; i < checkboxs.length; i++) {
checkboxs[i] = (CheckBox) findViewById(getIdByName("check_" + (i + 1)));
}
getIdByName方法
public static int getIdByName(final String name) {
try {
final Field field = R.id.class.getDeclaredField(name);
field.setAccessible(true);
return field.getInt(null);
} catch (Exception ignore) {
return -1;
}
}
您可以使用以下代码检查是否选中了Wheather复选框。
for (int i = 0; i < checkboxs.length; i++) {
if(checkboxs[i].isChecked()){
iCheck++;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句