简体   繁体   English

如何检查至少一个复选框是否被选中的android

[英]how to check if atleast one checkbox is checked android

This what I have done so far, even though I check all of them I get AlertDialog message. 到目前为止,尽管我检查了所有这些,但仍收到AlertDialog消息。

  private void validateCheckBoxes() {

    if (toilets.isSelected() || wifi.isSelected() || trolleys.isSelected() || lifts.isSelected()
            && ticketMachine.isSelected() || stepFree.isSelected()) {
        saveRecordsToDatabase();


    } else {
        AlertDialog.Builder facilitiesError = new AlertDialog.Builder(AddStation.this);
        facilitiesError.setTitle("Station Facilities are not selected");
        facilitiesError.setMessage("Please select at least one facility ");

        facilitiesError.setNegativeButton("OK", null);
        facilitiesError.create().show();

    }

}

By "selected" do you mean "checked"? “选择”是指“选中”吗?

if (toilets.isChecked() || wifi.isChecked() || trolleys.isChecked() || lifts.isChecked()
    || ticketMachine.isChecked() || stepFree.isChecked()) {
    saveRecordsToDatabase();
}

modify your code: 修改您的代码:

if (toilets.isSelected() || wifi.isSelected() || trolleys.isSelected() || lifts.isSelected()
        || ticketMachine.isSelected() || stepFree.isSelected()) {
    saveRecordsToDatabase();
}

Explanation: you are using all && operators in if statement, which means you get alert message only if all the check boxes are checked. 说明:您在if语句中使用所有&&运算符,这意味着仅在所有复选框都选中的情况下,您才会收到警报消息。

If you use all || 如果全部使用|| (or) operator, it means you get alert message if at least one checkbox is checked. (或)运算符,这意味着如果至少选中了一个复选框,您将收到警报消息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM