如果在android中的页面中没有选中任何复选框,如何向arraylist添加值?

时间:2012-04-17 05:57:28

标签: android

我正在开展测验应用。对于每个问题,都应选择多个选项。为此,我使用了复选框。 选中复选框时,我将已检查的id值存储在arraylist中,如果未选中,我将从arraylist中删除该ID。此前我还要添加答案数对于arraylist和下一个按钮中的每个问题,我都会添加一个“|”(或)符号来区分问题。

所以例如显示3个问题....然后我的arraylist包含

enter image description here

现在第一个问题我选择了3个选项,第二个问题我选择了4个选项,第三个问题我没有选择任何选项。所以对于第三个问题,只有正确答案的数量和|符号显示。 但是现在我的问题是如果没有选中任何复选框我想在arraylist中传递一个值。我怎样才能做到这一点?请帮我解决这个问题....自3天以来一直在努力....

我的代码:

cbs[k].setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {

        if (((CheckBox) v).isChecked()) {

            selchkboxlist.add(Integer.toString(v
                    .getId()));

            System.out.println("chkboxlist size"
                    + selchkboxlist.size());

        } 
        else
        {

            selchkboxlist.remove(Integer.toString(v
                    .getId()));
            System.out
                    .println("after delete chkboxlist size"
                            + selchkboxlist.size());
            }

    }
}); 

提前感恩

2 个答案:

答案 0 :(得分:1)

然后在进入下一个问题之前检查你的arraylist ..

 int k=yourlist.length();
  if(Integer.parseInt(yourlist.get(k-2))<=4){
 //then it is number of answers and no check box has been checked..
  arraylist.set(k-1,new String("some value to indicate nothing"));
  arraylist.add("|");

   }

答案 1 :(得分:1)

我假设您在点击其他按钮时创建字符串,最后根据您的selchkboxlist形成您的字符串。在这种情况下,您可以做的是,在您生成此文本的时候,

if( selchkboxlist.length() <= 1 ){ //means that none of the checkboxes have been selected
    //Add the entry at selchkboxlist[0]
    //Add a "|"
}