0

我正在做一个测验,有 4 种类型的问题(因此有 4 种类型的相应答案)。我为 4 种类型的问题定义了 4 个单独的数组,在 string.xml 中将它们命名为数组 A、数组 B、数组 C 和数组 D。

在布局中,有 5 个复选框供用户选择:All、A、B、C、D。如果用户只勾选 A,则只有 A 类问题将存储到“question_to_be_quized”(QTBQ)字符串数组中。同样,如果用户只选择 B,则 B 将被放入 QTBQ。用户可以勾选多个选项。如果用户勾选全部,所有 4 种类型将被放入 QTBQ。

我的问题是:如何有效地将相应的问题数组放入 QTBQ?我只能想到 if (checkboxA.isChecked) QTBQ.add 数组 A、if (checkboxA.isChecked) 和 (checkboxB.is checkced) QTBQ.add 数组 A 和 B 的愚蠢方式……但这种方式我有列出所有的组合?

如何写出(复选框isChecked)QTBQ.add各自的数组?

非常感谢!

4

1 回答 1

0

究竟是什么问题?

    ArrayList<String> qtbqList = new ArrayList<String>();
    if (cbxAll.isChecked()) { //first, were all items selected?
        qtbqList.add(arrA);
        qtbqList.add(arrB);
        qtbqList.add(arrC);
        qtbqList.add(arrD);
    } else { //if not then check individually
        if (cbxA.isChecked()) qtbqList.add(arrA);
        if (cbxB.isChecked()) qtbqList.add(arrB);
        if (cbxC.isChecked()) qtbqList.add(arrC);
        if (cbxD.isChecked()) qtbqList.add(arrD);
    }

我认为您必须求助于使用 arrayList,而不是数组,因为您事先不知道它的大小。就我个人而言,我什至没有选中所有复选框。或者如果我这样做了,我会在检查时检查所有其他复选框。

于 2012-11-17T03:51:37.900 回答