Android - Check RadioButton ID in a RadioGroup with LinearLayout

后端 未结 2 1993
说谎
说谎 2021-01-16 23:08

Is there any possible way to get the selected radio button in this layout? because rg.getCheckedRadioButtonId() not working on this layout. I can

相关标签:
2条回答
  • 2021-01-16 23:47

    You can get selected radio button by this way

    int selectedId = radioGroup.getCheckedRadioButtonId();
    // find the radiobutton by returned id
    radioButton = (RadioButton) findViewById(selectedId);
    

    this will return you the id of selected radio button

    0 讨论(0)
  • 2021-01-16 23:56

    Check this answer i have done in my studio, hope this helps,

        public class StackOne extends AppCompatActivity {
    
        private RadioButton rb1, rb2, rb3, rb4;
        private RadioGroup rg;
        private String selectedType = "";
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.stack_one);
    
            rb1 = (RadioButton) findViewById(R.id.rad1);
            rb2 = (RadioButton) findViewById(R.id.rad2);
            rb3 = (RadioButton) findViewById(R.id.rad3);
            rb4 = (RadioButton) findViewById(R.id.rad4);
            rg = (RadioGroup) findViewById(R.id.rg);
    
            GetSelectedRadioButton();
        }
    
        private void GetSelectedRadioButton() {
    
            rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(RadioGroup group, int checkedId) {
    
                    switch (group.getCheckedRadioButtonId()) {
                        case R.id.rad1:
                            selectedType = "rButton1";
                            rb1.setChecked(true);
                            Toast.makeText(StackOne.this,"Radiobutton 1 checked",Toast.LENGTH_LONG).show();
                            break;
                        case R.id.rad2:
                            selectedType = "rButton2";
                            rb2.setChecked(true);
                            Toast.makeText(StackOne.this,"Radiobutton 2 checked",Toast.LENGTH_LONG).show();
                            break;
                        case R.id.rad3:
                            selectedType = "rButton2";
                            rb3.setChecked(true);
                            Toast.makeText(StackOne.this,"Radiobutton 3 checked",Toast.LENGTH_LONG).show();
                            break;
                        case R.id.rad4:
                            selectedType = "rButton2";
                            rb4.setChecked(true);
                            Toast.makeText(StackOne.this,"Radiobutton 4 checked",Toast.LENGTH_LONG).show();
                            break;
    
                    }
                }
            });
        }
    }
    

    Checkout this for more detail.

    0 讨论(0)
提交回复
热议问题