选中的复选框计数并将其传递给另一个活动

时间:2014-04-03 09:45:47

标签: android checkbox arraylist

我在第一个活动中有4个复选框,我想只存储那些用户选中的复选框,并且必须在另一个活动中显示我的问题是如何计算用户选中的复选框。请帮我逻辑

int x = 0;

public void onCheckboxClicked(View view) {
    checked = ((CheckBox) view).isChecked();
    if (((CheckBox) view).isChecked() == true) {
        int i = 0;
        while (i != 4) {
            x = i + 1;
            i++;
        }
    }
}

开启提交按钮

    if(x!=0) {
      show alert();
      and passing check boxes selected count 
}

2 个答案:

答案 0 :(得分:1)

您可以运行循环并查找CheckBox个视图的数量,然后相应地获取已检查的CheckBoxes的数量

例如:

main = (LinearLayout) findViewById(R.id.main);
    btn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    count = 0;
                    int childcount = main.getChildCount();
                    for (int i=0; i < childcount; i++){
                          View view = main.getChildAt(i);
                          if (view instanceof CheckBox) {
                              if(((CheckBox) view).isChecked())
                                  count++;
                          }
                    }
                    text.setText("count: " + count);
                }
            });

答案 1 :(得分:0)

首先将复选框放在数组中:

ArrayList<CheckBox> checkList = new ArrayList<CheckBox>();

你可以用:

for(int i=0 ; i<4; i++)
{
   checkList.add(YOURCHECKBOX) ;
}

你可以检查哪个CB被检查(实现你想要它只保存被检查的那些..):

for(int i=0 ; i<checkList.size(); i++)
{
    if(checkList.get(i).isChecked() == true)
      {
        YOURCODE
      }
}