【问题标题】:android: checkbox linking to string arraysandroid:链接到字符串数组的复选框
【发布时间】:2012-11-05 05:55:58
【问题描述】:

我正在做一个测验,有 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 array A, if (checkboxA.isChecked) and (checkboxB.is checkced) QTBQ.add both array A 和 B ......但这种方式我有列出所有组合?

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

非常感谢!

【问题讨论】:

    标签: android arrays checkbox


    【解决方案1】:

    究竟是什么问题?

        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,而不是数组,因为您事先不知道它的大小。就我个人而言,我什至没有选中所有复选框。或者如果我这样做了,我会在检查时选中所有其他复选框。

    【讨论】:

      猜你喜欢
      • 2013-02-26
      • 2018-12-03
      • 2018-04-04
      • 2018-06-16
      • 2023-03-09
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 2012-11-21
      相关资源
      最近更新 更多