2013-04-25 123 views

回答

3

您可以很容易地擁有一個int變量,該變量存儲當前檢查多少個複選框......然後在任何時候調用onCheckedChanged(),檢查該變量以及它是否已經是第三個複選框以進行檢查,您只需設置它爲未選中再次...

比方說,你開始與所有選中的複選框。所以,你這樣做:

int numberOfCheckboxesChecked = 0; 

然後,設置OnCheckChangedListener

checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     if (isChecked && numberOfCheckboxesChecked >= 2) { 
      checkbox1.setChecked(false); 
     } else { 
      // the checkbox either got unchecked 
      // or there are less than 2 other checkboxes checked 
      // change your counter accordingly 
      if (isChecked) { 
       numberOfCheckboxesChecked++; 
      } else { 
       numberOfCheckboxesChecked--; 
      } 

      // now everything is fine and you can do whatever 
      // checking the checkbox should do here 
     } 
    } 
}); 

(我沒有測試的代碼,但它應該工作。)

+0

當然,如果有一段時間,一些代碼會很好。與此同時,如果我正確地理解了你,我會盡力去做你所說的話。 – nabuko2 2013-04-25 16:46:49

+0

請檢查一些示例代碼的編輯。 – zbr 2013-04-25 16:51:31

+0

好的,謝謝,我會在幾分鐘內測試,現在就讓你。 – nabuko2 2013-04-25 16:53:58

相關問題