2017-06-17 44 views
1

我的單選按鈕不會找到onRadioButtonClicked單擊的方法。該方法說,它從來沒有使用過,當我嘗試radioButton應用程序崩潰,因爲沒有onRadioButtonClicked方法。單選按鈕找不到單擊方法

<RadioGroup 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <RadioButton 
       android:id="@+id/rbTerrorist" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:onClick="onRadioButtonClicked" 
       android:text="Terrorist" /> 

      <RadioButton 
       android:id="@+id/rbCounterTerrorist" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:onClick="onRadioButtonClicked" 
       android:text="Counter-Terrorist" /> 
     </RadioGroup> 

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.rbTerrorist: 
       if (checked) 
        // Pirates are the best 
        break; 
      case R.id.rbCounterTerrorist: 
       if (checked) 
        // Ninjas rule 
        break; 
      default: 
       break; 
     } 
    } 
+1

你應該在'RadioGroup'可以使用'OnCheckedChangeListener'代替。 –

+0

對不起,彼得,申請反恐精英:全球攻勢 – Amar

+0

但如果我使用OnCheckedChangeListener只是一個不同的方法名稱會怎麼樣? – Amar

回答

1

你應該使用RadioButton叫什麼和RadioGroupOnCheckedChangeListener

使用這種方法

RadioGroup rb = (RadioGroup) findViewById(R.id.your_Radio_group_id); 
    rb.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
     public void onCheckedChanged(RadioGroup group, int checkedId) { 
      switch (checkedId) { 
       case R.id.rbTerrorist: 
        // to task           
        break; 
       case R.id.rbCounterTerrorist: 
        // to task           
        break; 
      } 
     } 

    });