如何获取已检查单选按钮的父无线电组?

时间:2018-01-21 15:01:23

标签: android android-layout

如何检查已选中的单选按钮的无线电组?我有两个带有一些单选按钮的无线电组,我想知道它们属于哪个组。

void populateSpinner(@ArrayRes int radioId, RadioGroup radioGroup) {
    adapter = ArrayAdapter.createFromResource(SecondActivity.this,
            radioId, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spn_districts.setAdapter(adapter);
}

public void onRadioButtonClick(View view)
{
    boolean checked = ((RadioButton) view).isChecked();

    switch(view.getId())
    {
        case R.id.radio_1:
            if (checked)
                populateSpinner(R.array.radio_1_array, <RADIO BUTTON GROUP>);
            break;
// so on

如何获得单选按钮组?

1 个答案:

答案 0 :(得分:1)

您可以为xml代码中的每个 RadioGroup 设置标记,当您点击任何RadioButton时,您可以获取Parent RadioGroup的标记和您可以轻松识别父 RadioGroup

您的activity_layout XML代码

 <RadioGroup
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:tag="FirstRadioGroup"
        android:id="@+id/firstRG">

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="one"
            android:id="@+id/firstRB"/>
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="two"
            android:id="@+id/secondRB"/>
    </RadioGroup> 

JAVA活动代码

 RadioGroup firstRG = (RadioGroup) findViewById(R.id.firstRG);
       firstRG.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
             switch(i){
                 case R.id.firstRB:
                     Toast.makeText(MainActivity.this, "Parent RadioGroup is --"+radioGroup.getTag(), Toast.LENGTH_SHORT).show();
                     break;
                 case R.id.secondRB:
                     break;
             }

            }
        });

这样当您检查第一个RadioButton时,它会显示Prent RadioGroup标记值