2011-10-03 72 views
0

我想使用單選按鈕,但他們不工作。此刻我已經爲此進行了敬酒,純粹是爲了調試,而且從未出現過。似乎有不同的方式來使用它們,所以也許我只是使用一種不好的方法。任何關於我做錯了的建議都會很棒。Android - 單選按鈕選擇沒有被註冊

final RadioButton rbSDR = (RadioButton) findViewById(R.id.rbSDR); 
final RadioButton rbMM = (RadioButton) findViewById(R.id.rbMM); 
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup); 
//int checkedRadioButtonID = radGrp.getCheckedRadioButtonId(); 
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
public void onCheckedChanged(RadioGroup arg0, int id) { 

    Toast.makeText(getBaseContext(), "Checked", 
      Toast.LENGTH_SHORT).show(); 

    switch (id) { 
    case -1: 
     rbMM.setChecked(false); 
     rbSDR.setChecked(false); 
    break; 
    case R.id.rbSDR: 
     rbMM.setChecked(false); 
    break; 
    case R.id.rbMM: 
     rbSDR.setChecked(false); 
    break; 
    default: 
    break; 
    } 

}); 

編輯: 顯然的問題是,我不得不內的單選按鈕組的線性佈局。現在要弄清楚如何將按鈕並排放置...

回答

0

該ID將始終只返回-1。試試下面的編輯代碼,

final RadioButton rbSDR = (RadioButton) findViewById(R.id.rbSDR); 
rbSDR.setId(R.id.rbSDR); 
final RadioButton rbMM = (RadioButton) findViewById(R.id.rbMM); 
rbMM.setId(R.id.rbMM); 
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup); 
//int checkedRadioButtonID = radGrp.getCheckedRadioButtonId(); 
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
public void onCheckedChanged(RadioGroup arg0, int id) { 

    Toast.makeText(getBaseContext(), "Checked", 
      Toast.LENGTH_SHORT).show(); 

    switch (id) { 
    case -1: 
     rbMM.setChecked(false); 
     rbSDR.setChecked(false); 
    break; 
    case R.id.rbSDR: 
     rbMM.setChecked(false); 
    break; 
    case R.id.rbMM: 
     rbSDR.setChecked(false); 
    break; 
    default: 
    break; 
    } 

}); 
+0

沒有運氣。感謝您的嘗試! – KRL

0

設置監聽器單選按鈕,而不是無線電集團

0

而不是使用

radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 

使用

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener(){ 
0

的要放radio buttons側並排,將此添加到XML properties

android:orientation="horizontal"