1

Я создал динамическую группу радиостанций, в которой каждая группа имеет три переключателя, поэтому включил проверенный прослушиватель изменений, как я могу получить идентификатор переключателя в группе радио ... спасибо заранее ..Как получить идентификатор проверенного радио из группы радиостанций

public class Rate_me_up extends Activity implements OnClickListener, 
     OnCheckedChangeListener { 
    LinearLayout layout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.rate_me_up); 
     layout = (LinearLayout) findViewById(R.id.linear); 
     Button btnp = (Button) findViewById(R.id.buttonp); 
     btnp.setOnClickListener(this); 

    } 

    @Override 
    public void onClick(View v) { 
     RadioGroup radioGroup = new RadioGroup(Rate_me_up.this); 
     radioGroup.setOrientation(1); 

     LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
       LinearLayout.LayoutParams.WRAP_CONTENT, 
       LinearLayout.LayoutParams.WRAP_CONTENT); 
     layout.addView(radioGroup, p); 
     RadioButton radioButtonView = new RadioButton(Rate_me_up.this); 
     radioButtonView.setText("RadioButton"); 
     radioButtonView.setChecked(false); 
     radioGroup.addView(radioButtonView, p); 

     RadioButton radioButtonView2 = new RadioButton(Rate_me_up.this); 
     radioButtonView2.setText("RadioButton2"); 
     radioButtonView2.setChecked(false); 
     radioGroup.addView(radioButtonView2, p); 
     RadioButton radioButtonView3 = new RadioButton(Rate_me_up.this); 
     radioButtonView3.setText("RadioButton2"); 
     radioGroup.addView(radioButtonView3, p); 
     radioButtonView3.setChecked(false); 
     radioGroup.setOnCheckedChangeListener(this); 

    } 

    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 

    } 

} 
+0

первый набор идентификаторов 'RadioButton' через' setId() 'метод. –

+0

после этого ... как получить идентификатор ... – bhavdip

+0

'checkedId' в' onCheckedChanged' вернет вам идентификатор зарегистрированного «RadioButton». – Apoorv

ответ

-1

поле checkId в

@Override 
public void onCheckedChanged(RadioGroup group, int checkedId) { 
} 

даст вам проверили идентификатор RadioButton в.

редактировать:

сделать это следующим образом:

@Override 
public void onCheckedChanged(RadioGroup group, int checkedId) { 

switch(checkedId){ 
    case R.id.radio1: //assumed id of radioButton1 
    //statements 
    break; 

    case R.id.radio2: 
    . 
    break; //so on 
} 
} 

для динамического Radiobuttons сравнения, запрашивая идентификатор оттуда insatnce как radioButton1.getId();

+0

Он уже установил 'setOnCheckedChangeListener' в последней строке' onClick'. – Apoorv

+0

, пожалуйста, объясните, что именно вы имеете в виду. я имею в виду, знаете ли вы, сколько генерируемых радиообъектов или полностью зависит от действий пользователя во время выполнения? –

0
switch (radioXO.getCheckedRadioButtonId()) { 
      case R.id.rdo_X: 
       player1Character = "X"; 
       break; 
      case R.id.rdo_O: 
       player1Character = "O"; 
       break; 

      } 
0

Это будет помочь вам:

int index = myRadioGroup.indexOfChild(findViewById(myRadioGroup.getCheckedRadioButtonId())); 
0

Сначала установите идентификатор RadioButton через setId() то .Не как следующий,

@Override 
     public void onClick(View v) { 
      RadioGroup radioGroup = new RadioGroup(Rate_me_up.this); 
      radioGroup.setOrientation(1); 

      LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.WRAP_CONTENT, 
        LinearLayout.LayoutParams.WRAP_CONTENT); 
      layout.addView(radioGroup, p); 
      RadioButton radioButtonView = new RadioButton(Rate_me_up.this); 
      radioButtonView.setId(1); 
      radioButtonView.setText("RadioButton"); 
      radioButtonView.setChecked(false); 
      radioGroup.addView(radioButtonView, p); 

      RadioButton radioButtonView2 = new RadioButton(Rate_me_up.this); 
      radioButtonView.setId(2); 
      radioButtonView2.setText("RadioButton2"); 
      radioButtonView2.setChecked(false); 
      radioGroup.addView(radioButtonView2, p); 

      RadioButton radioButtonView3 = new RadioButton(Rate_me_up.this); 
      radioButtonView.setId(3); 
      radioButtonView3.setText("RadioButton2"); 
      radioGroup.addView(radioButtonView3, p); 
      radioButtonView3.setChecked(false); 
      radioGroup.setOnCheckedChangeListener(this); 

     } 

     @Override 
     public void onCheckedChanged(RadioGroup group, int checkedId) { 

     switch (checkedId) { 
       case 1: 
        // first radiobutton is clicked 
        break; 
       case 2: 
        // second radiobutton is clicked 
        break; 
       case 3: 
        // third radiobutton is clicked 
        break; 


       default: 
        break; 
     } 
1

Преобразовать RadioButton Value в строку.

Это, как вы должны попробовать,

На OnClick:

genradiocheck(); 
radiovalue = radiobutton1.getText().toString(); 

`

private boolean genradiocheck() 
    { 
    boolean gender_flag = false; 

    if (r_group.getCheckedRadioButtonId() == -1) 
    { 
     // 
    } 
    else 
    { 
     radiobutton1 = (RadioButton) findViewById(r_group 
        .getCheckedRadioButtonId()); 

    gender_flag = true; 
    } 

    return gender_flag; 
    } 

Надеется, что это помогает.

0

Вам нужно установить идентификатор, прежде чем пытаться получить идентификатор. Используйте следующий фрагмент кода.

@Override 
public void onClick(View v) { 
    RadioGroup radioGroup = new RadioGroup(Rate_me_up.this); 
    radioGroup.setOrientation(1); 

    LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
      LinearLayout.LayoutParams.WRAP_CONTENT, 
      LinearLayout.LayoutParams.WRAP_CONTENT); 
    layout.addView(radioGroup, p); 
    RadioButton radioButtonView = new RadioButton(Rate_me_up.this); 
    radioButtonView.setId(1); 
    radioButtonView.setText("RadioButton"); 
    radioButtonView.setChecked(false); 
    radioGroup.addView(radioButtonView, p); 

    RadioButton radioButtonView2 = new RadioButton(Rate_me_up.this); 
    radioButtonView.setId(2); 
    radioButtonView2.setText("RadioButton2"); 
    radioButtonView2.setChecked(false); 
    radioGroup.addView(radioButtonView2, p); 
    RadioButton radioButtonView3 = new RadioButton(Rate_me_up.this); 
    radioButtonView.setId(3); 
    radioButtonView3.setText("RadioButton2"); 
    radioButtonView3.setChecked(false); 
    radioGroup.addView(radioButtonView3, p); 
    radioGroup.setOnCheckedChangeListener(this); 

} 

@Override 
public void onCheckedChanged(RadioGroup group, int checkedId) { 
Toast.makeText(Rate_me_up.this, "id : "+checkedId, Toast.LENGTH_SHORT).show();//or you can also get the id by using group.getCheckedRadioButtonId() 
} 
Смежные вопросы