Android:从复选框列表中限制选项数量

时间:2014-05-29 04:23:07

标签: java android checkbox

在我的应用中,我有多个复选框,我必须将用户限制为5个选项。 之后 - 如果他从复选框中选择另一个选项,则不会标记。

这是我的代码草图 -

Veg.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            if (Veg.isChecked()) {
                if (result.length() == 10) {
                    finalresult = result.substring(0, result.length() - 1);

                    Veg.setEnabled(false);

                } else {
                    result.append("1,");
                    System.out.println(result.length());
                }
            }

        }
    });

2 个答案:

答案 0 :(得分:0)

为什么不使用OnCheckChangedListener。 将所有选中的复选框ID保存在arraylist中,每当选中复选框时,将其添加到arraylist,当取消选中时删除,在onCheckChanged事件中添加arralist.size()的检查,如果大于5,则取消选中setChecked复选框(false) 。

答案 1 :(得分:0)

所有复选框都使用相同的进程,并使用ArrayList禁用和启用复选框。

以下代码不适合编程。

Veg1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                if (Veg1.isChecked()) 
                {
                    counter++;
                    if (counter <= 10) {
                        do your process
                        call one of the method for ENABLE all uncheck checkboxes
                    }
                    else
                    {
                        counter--
                        Veg1.setChecked(false);
                        call one of the method for DISABLE all uncheck checkboxes
                    }


                       // Veg.setEnabled(false); remove this line

                } else {
                        counter--;
                        //result.append("1,"); remove this line

                    }
                }

            }
        });