Selección de botones de radio Cambia Toast en Android
Estaba escribiendo una simple aplicación de prueba. Hay dos botones de radio dentro de la aplicación. Allí los id son "radio_red" y "radio_blue". Quise crear un acontecimiento de onClickListener que leyera el texto asociado al botón y entonces devolvía una tostada básica "derecha" o "incorrecta".
He aquí un ejemplo del código:
- Cómo adjuntar un oyente a un botón de radio
- Android 4.2 RadioButton android: drawableLeft error?
- Cómo poner una imagen a la derecha de un botón de radio, Android
- Estilo de fondo del botón de radio de Android cuando está seleccionado
- Botón de radio de Android
private OnClickListener radio_listener = new OnClickListener() { public void onClick(View v){ RadioButton rb = (RadioButton) v; String ans = rb.getText().toString(); String an1 = ""; if (ans.trim() == "Yes") { ans = "That's Right."; } else if (ans.trim() == "No") { ans = "thats wrong."; } else { ans = "none."; } Toast.makeText(v.getContext(), ans , Toast.LENGTH_SHORT).show(); }
Hasta ahora no hay alegría. Aquí está mi fragmento de código. He comprobado mi "main.xml" y el texto asociado a los botones se referneced correctamente. He añadido trim para asegurarse de que. Sin embargo, todo lo que se devuelve en el brindis es "ninguno". ¿Qué me estoy perdiendo? Gracias de antemano por cualquier ayuda.
- Comportamiento inesperado de RadioButton
- Android problema RadioButton en android 4
- Cómo configurar un botón de radio en Android
- Falta la selección de elementos del centrifugador
- Botones de radio Establecer el estado comprobado a través del código
- Cómo reducir el tamaño del botón de radio en android
- ¿Cómo agregar el margen entre la hormiga de radiobotón y es dibujable?
- Android RadioButton opción en el lado derecho del texto
Usted quiere tratar con el RadioGroup
, no con el RadioButton
. El RadioGroup
puede decirte más meta-detalles sobre los controles de radio, como el cual está marcado. Por ejemplo, en su oyente debe utilizar RadioGroup.getCheckedRadioButtonId()
.
Alternativamente, puede agregar un escucha al propio RadioGroup que establezca una alternancia en el fondo, usando RadioGroup.setOnCheckedChangeListener()
. Tiene la capacidad de decirle qué RadioButton
se presionó.
Yo estaba recibiendo el mismo problema antes …. Tengo la solución adecuada para ello.
radioGroup1.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { RadioButton radioButton = (RadioButton) findViewById(checkedId); Toast.makeText(Location.this, "" + radioButton.getText(), 2000).show(); } });
Creo que usted ha cometido un error al escribir Condición aquí,
ans.trim() == "Yes"
Debería ser,
ans.trim().equalsIgnoreCase("YES")
- Picasso no funciona si url contiene espacio
- Cómo cambiar correctamente el nombre del paquete en AndroidManifest.xml (por ejemplo, en el proyecto zxing / barcodescanner)