首页 > 解决方案 > 复选框未根据 android 中的列表值进行检查

问题描述

对不起,我的英语不好,
我正在为复选框单独获取数组列表值。(实际上,这些是来自活动的工作日)。但问题是复选框仅将第一个位置值设置为复选框。请让我知道我的代码有什么问题。

以下是代码片段

假设这是列表值:

[周一、周二、周日]

这是我通过列表的类

for (int i = 0; i < myList.size(); i++) {

            switch (myList.get(i)){

                case "Monday":
                    cbMon.setChecked(true);
                    break;

                case "Tuesday" :
                    cbTue.setChecked(true);
                    break;

                case "Wednesday":
                    cbWed.setChecked(true);
                    break;

                case "Thursday":
                    cbThurs.setChecked(true);
                    break;

                case "Friday":
                    cbFri.setChecked(true);
                    break;

                case "Saturday":
                    cbSat.setChecked(true);
                    break;

                case "Sunday":
                    cbSun.setChecked(true);
                    break;

                default:

                    break;

            }

标签: androidarraylist

解决方案


使用此结构无需以硬编码方式进行

for (int i = 0; i < myList.size(); i++) {

        switch (myList.get(i)){

            case "Monday":
                cbMon.setChecked(true);
                break;

            case "Tuesday" :
                cbTue.setChecked(true);
                break;

            case "Sunday":
                cbSun.setChecked(true);
                break;

            default:break;

        }
    }

推荐阅读