2015-04-06 85 views
1

這是我迄今所做的,即使我檢查所有的人,我得到AlertDialog消息。如何檢查ATLEAST一個複選框被選中的Android

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(); 

    } 

} 
+0

我曾經使用過。它不起作用 –

回答

3

通過「選擇」你的意思是「檢查」?

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

修改代碼:

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

說明:您使用的if語句所有& &運營商,這意味着你只能如果所有的複選框被檢查警報消息。

如果你使用的所有|| (或)操作符,這意味着如果至少有一個複選框被選中,您將收到警報消息。

+0

請解釋你的答案。爲什麼要這樣工作,你改變了什麼?請記住,OP不會問他們是否已經知道。 –

+0

我曾嘗試過。它不工作 –

+0

其不器isChecked是isSelected –

相關問題