Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Grupo de radio onclick evento no disparar, ¿cómo puedo saber cuál es seleccionado?

Estoy usando el grupo de radio, pero el evento RadioGroup no está disparando y el método getCheckedRadiobuttonID() devuelve null . Aquí está el elemento en mi diseño:

  <RadioGroup android:id="@+id/RG1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:onClick="onRGClick" > 

Método

  • La finalización del código no funciona para los atributos XML de la biblioteca externa (Android Studio)
  • Activar la funcionalidad del botón de retroceso en el botón de clic en Android
  • No se pudo generar el proyecto Xamarin.Android con "Error XA5209: Error al descomprimir"
  • Error de FileProvider
  • Google Drive API - Android - ¿Cómo obtener un ID de unidad de disco?
  • Android: ¿Cómo implementar Parcelable a mis objetos?
  •  public void onRGClick(View v) { Toast.makeText(this, "Test ", 1000).show(); } 

  • Cálculo del porcentaje de Android Java
  • Cómo reproducir video de la carpeta en bruto con el dispositivo Android?
  • Depuración remota con Dart
  • NullPointerException en los servicios de Google Play al llamar a play () en RemotePlaybackClient
  • KeyAttestation en Android Nougat API 24
  • Reconstruir .apk utilizando Eclipse sin ejecución
  • 4 Solutions collect form web for “Grupo de radio onclick evento no disparar, ¿cómo puedo saber cuál es seleccionado?”

    Este problema se puede solucionar utilizando las siguientes

     RadioGroup rg = (RadioGroup) findViewById(R.id.radioGroup1); rg.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch(checkedId) { case R.id.radio0: // TODO Something break; case R.id.radio1: // TODO Something break; case R.id.radio2: // TODO Something break; } } }); 

    Alternativamente

    Puede utilizar IDs personalizados en lugar de uno predeterminado

      RadioGroup rg = (RadioGroup) findViewById(R.id.radioGroup1); rg.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch(checkedId) { case R.id.male: // TODO Something break; case R.id.female: // TODO Something break; case R.id.other: // TODO Something break; } } }); 

    En realidad, creo que no es necesario agregar android:clickable="true" o haga clic en escuchar. Puede declarar RadioGroup.OnCheckedChangeListener que escuchará el cambio de la selección. Por favor, vea este hilo, por ejemplo, cómo puede usarlo.

    EDIT: Hice algunos cambios en su código y su funcionamiento para mí. OnClick funciona para todas las vistas. Aquí en tu código, el ancho de Rgroup es wrap_content, así que si has puesto RadioButtons dentro del RG (que se superpondrá por completo al RG), tus clics serán consumidos por los RadioButtons (y no el Rgroup). Hice la anchura del Rgroup a fill_parent y el tecleo estaba consiguiendo ejecutado. Aquí está mi muestra para que pueda probarlo.

      <RadioGroup android:onClick="onRGClick" ndroid:text="RadioButton" android:id="@+id/radioGroup1" android:layout_width="fill_parent" android:layout_height="wrap_content"> <RadioButton android:text="RadioButton" android:id="@+id/radioButton2" android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton> </RadioGroup> 

    Y aquí está la Actividad:

     public class Hello extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onRGClick(View v){ Toast.makeText(this, "Test ", Toast.LENGTH_LONG).show(); } 

    Simplemente haga clic en cualquier lugar a la derecha del RadioButton y verá el Toast. Aunque para fines generales, OnCheckedChangeListener es más útil. Espero que esto te ayude.

    La otra manera es asignar su método a la propiedad onClick de cada RadioButton . A continuación, compruebe el ID de la vista. Por ejemplo,

     public void onRGClick(View v) { int id = view.getId(); if (id == R.id.radioButtonId) { //Do something } } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.