2017-09-24 40 views
0

不單擊RadioButton意味着它已被選中。有代碼的例子,如這樣: -爲什麼在RadioButton的onClick中調用isChecked

public void onRadioButtonClicked(View view) { 
    // Is the button now checked? 
    boolean checked = ((RadioButton) view).isChecked(); 

    // Check which radio button was clicked 
    switch(view.getId()) { 
     case R.id.radio_pirates: 
      if (checked) 
       // Pirates are the best 
      break; 
     case R.id.radio_ninjas: 
      if (checked) 
       // Ninjas rule 
      break; 
    } 
} 

一個在這裏https://developer.android.com/guide/topics/ui/controls/radiobutton.html

爲什麼我不能這樣做只是這個代替: -

public void onRadioButtonClicked(View view) { 
    // Check which radio button was clicked 
    switch(view.getId()) { 
     case R.id.radio_pirates: 
      // Pirates are the best 
      break; 
     case R.id.radio_ninjas: 
      // Ninjas rule 
      break; 
    } 
} 

回答

0

RadioButton documentation

單選按鈕是一個雙狀態按鈕,可以選中該按鈕或取消選中 。當單選按鈕未選中時,用戶可以按或點擊它來檢查它。但是,與複選框相反,用戶選中後單選按鈕 不能取消選中。

單選按鈕通常在RadioGroup中一起使用。當幾個 單選按鈕住在收音機組內時,檢查一個單選按鈕 將取消選中所有其他按鈕。

查看Radio Buttons guide

因此,主要目的是通知另一個單選按鈕關於檢查狀態。

請注意,RadioButton繼承了Button行爲。因此,您可以複製Button的相同處理代碼以及選中或未選中的狀態。

+0

感謝您的參考。這並不意味着按下或點擊它會一直檢查它嗎?那麼爲什麼isChecked()? – Himanshu

相關問題