studio programacion para móviles internet grabar escuchar desarrollo curso celular aplicaciones aplicacion android radio-button radio-group

programacion - grabar radio android sin internet



¿Cómo comprobar si un botón de radio está marcado en un grupo de radio en Android? (7)

Necesito establecer la validación de que el usuario debe completar / seleccionar todos los detalles en una página. Si alguno de los campos está vacío, quiere mostrar el Toast message to fill. Ahora necesito establecer la validación de RadioButton en RadioGroup. Intenté este código pero no funcionó correctamente. Sugerirme la forma correcta. Gracias.

// get selected radio button from radioGroup int selectedId = gender.getCheckedRadioButtonId(); // find the radiobutton by returned id selectedRadioButton = (RadioButton)findViewById(selectedId); // do what you want with radioButtonText (save it to database in your case) radioButtonText = selectedRadioButton.getText().toString(); if(radioButtonText.matches("")) { Toast.makeText(getApplicationContext(), "Please select Gender", Toast.LENGTH_SHORT).show(); Log.d("QAOD", "Gender is Null"); } else { Log.d("QAOD", "Gender is Selected"); }


Intenta usar el método isChecked ();

Me gusta,

selectedRadioButton.isChecked () -> devuelve booleano.

Consulte here para obtener más información sobre el botón de radio


Mi respuesta es de acuerdo con la documentación , que funciona bien.

1) En el archivo xml, incluye android:onClick="onRadioButtonClicked" como se muestra a continuación:

<RadioGroup android:id="@+id/rg1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center"> <RadioButton android:id="@+id/b1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="onCreateOptionsMenu()" android:onClick="onRadioButtonClicked" /> <RadioButton android:id="@+id/b2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="onCreateMenu()" android:onClick="onRadioButtonClicked" /> </RadioGroup>

2) En el archivo Java, implemente el método onCreate() fuera del método onCreate() como se muestra a continuación:

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.b1: if (checked) { Log.e("b1", "b1" ); break; } case R.id.b2: if (checked) break; } }


Si desea verificar solo un RadioButton , puede usar la función isChecked

if(radioButton.isChecked()) { // is checked } else { // not checked }

y si tienes un RadioGroup puedes usar

if (radioGroup.getCheckedRadioButtonId() == -1) { // no radio buttons are checked } else { // one of the radio buttons is checked }


Todo lo que necesita hacer es usar el getCheckedRadioButtonId() y isChecked() ,

if(gender.getCheckedRadioButtonId()==-1) { Toast.makeText(getApplicationContext(), "Please select Gender", Toast.LENGTH_SHORT).show(); } else { // get selected radio button from radioGroup int selectedId = gender.getCheckedRadioButtonId(); // find the radiobutton by returned id selectedRadioButton = (RadioButton)findViewById(selectedId); Toast.makeText(getApplicationContext(), selectedRadioButton.getText().toString()+" is selected", Toast.LENGTH_SHORT).show(); }

https://developer.android.com/guide/topics/ui/controls/radiobutton.html


Use la función isChecked () para cada radioButton que deba verificar.

RadioButton maleRadioButton, femaleRadioButton; maleRadioButton = (RadioButton) findViewById(R.id.maleRadioButton); femaleRadioButton = (RadioButton) findViewById(R.id.femaleRadioButton);

Luego use el resultado para su consideración de caso if / else.

if (maleRadioButton.isChecked() || femaleRadioButton.isChecked()) { Log.d("QAOD", "Gender is Selected"); } else { Toast.makeText(getApplicationContext(), "Please select Gender", Toast.LENGTH_SHORT).show(); Log.d("QAOD", "Gender is Null"); }


trata de usar esto

<RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <RadioButton android:id="@+id/standard_delivery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Standard_delivery" android:checked="true" android:layout_marginTop="4dp" android:layout_marginLeft="15dp" android:textSize="12dp" android:onClick="onRadioButtonClicked" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Midnight_delivery" android:checked="false" android:layout_marginRight="15dp" android:layout_marginTop="4dp" android:textSize="12dp" android:onClick="onRadioButtonClicked" android:id="@+id/midnight_delivery" /> </RadioGroup>

esta es la clase java

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.standard_delivery: if (checked) Toast.makeText(DishActivity.this," standard delivery",Toast.LENGTH_LONG).show(); break; case R.id.midnight_delivery: if (checked) Toast.makeText(DishActivity.this," midnight delivery",Toast.LENGTH_LONG).show(); break; } }


checkedRadioButton los id de checkedRadioButton de checkedRadioButton para compararlos con el ID del checkedRadioButton que obtuve usando mRadioGroup.getCheckedRadioButtonId()

Aquí está mi código:

mRadioButton1=(RadioButton)findViewById(R.id.first); mRadioButton2=(RadioButton)findViewById(R.id.second); mRadioButton3=(RadioButton)findViewById(R.id.third); mRadioButton4=(RadioButton)findViewById(R.id.fourth); mNextButton=(Button)findViewById(R.id.next_button); mNextButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int selectedId=mRadioGroup.getCheckedRadioButtonId(); int n=0; if(selectedId==R.id.first){n=1;} else if(selectedId==R.id.second){n=2;} else if(selectedId==R.id.third){n=3;} else if(selectedId==R.id.fourth){n=4;} //. . . . }