In radio group Selecting radio button as yes must enable a textview & selecting radio button as no must disable textview in android

StackOverflow https://stackoverflow.com/questions/21547989

  •  06-10-2022
  •  | 
  •  

Question

In radio group Selecting radio button as YES must enable a textview & selecting radio button as NO must disable textview in android.

can any one explain how can i do this ?

Layout code :

<RadioGroup
    android:id="@+id/rg5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:orientation="horizontal" >

    <RadioButton
        android:id="@+id/rg5r1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true"
        android:text="NO" />

    <RadioButton
        android:id="@+id/rg5r2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="YES" />

</RadioGroup>

<TextView
    android:id="@+id/q6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:text="If &apos;Yes&apos; please list allergies"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/wight" />
Was it helpful?

Solution

class MainActivity extends Activity {
RadioGroup rad;
TextView q6;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    q6=(TextView) findViewById(R.id.q6);
    rad=(RadioGroup) findViewById(R.id.rg5);
    rad.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            int id=rad.getCheckedRadioButtonId();
              View radioButton = rad.findViewById(id);
              if(radioButton.getId()==R.id.rg5r1)
              {
                  q6.setEnabled(false);
              }
              else
              {
                  q6.setEnabled(true);
              }
        }
    }); 
}

OTHER TIPS

Please update on your Activity like this :

public class MainActivity extends Activity {
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = (TextView)findViewById(R.id.q6);
        textView.setVisibility(View.GONE);
    }

    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.rg5r1:
            if (checked)
                textView.setVisibility(View.GONE);
            break;
        case R.id.rg5r2:
            if (checked)
                textView.setVisibility(View.VISIBLE);
            break;
        }
    }

}

and activity_main.xml like this:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <RadioGroup
        android:id="@+id/rg5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/rg5r1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="NO" 
            android:onClick="onRadioButtonClicked"/>

        <RadioButton
            android:id="@+id/rg5r2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="YES"
            android:onClick="onRadioButtonClicked" />
    </RadioGroup>

    <TextView
        android:id="@+id/q6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:text="If &apos;Yes&apos; please list allergies"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#FFFFFF" />

</RelativeLayout>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top