Android CheckBox 在一个字符串中显示多个文本选择

Android CheckBox to show multiple selection of text in one string

我有 7 个显示工作日的复选框,现在我想做的是根据选中的复选框将每个复选框的文本存储在单个字符串中。 我正在做的是使用 if else condition 但它有点长。

任何帮助我如何最小化代码的方法。

每个条件的代码都是这样。

 if(mon.isChecked()&& tue.isChecked()){
       MON=mon.getText().toString();
       TUE=tue.getText().toString();
       text=MON+","+TUE;
   }

您应该使用 onCheckBoxClickedListener 并在 id 上使用 switch 语句。

添加

android:onClick="onCheckboxClicked" 到您的所有复选框

和 将你的 onCheckboxclicked() 写成如下

public void onCheckboxClicked(View view) {
    // Is the view now checked?
    boolean checked = ((CheckBox) view).isChecked();

    // Check which checkbox was clicked
    switch(view.getId()) {
        case R.id.mon:
            if (checked)
                text = text + " mon";
            else
            break;
        case R.id.tue:
            if (checked)
                text = text + " tue";
            else
            break;
    }
}