RadioGroup extendiendo RelativeLayout?

Estoy tratando de hacer una cuadrícula de botones de radio para mi aplicación, lo que he aprendido es que esto no es posible utilizando regular RadioGroup ya que se extiende LinearLayout y si se trata de arreglar los RadioButtons utilizando RelativeLayout INSIDE el RadioGroup el RadioGroup doesn ' T vea los Buttons dentro de RelativeLayout .

Así que para arreglar esto quiero hacer un RadioGroup personalizado que extienda RelativeLayout en lugar de LinearLayout.

¿Cómo hago esto?

ACTUALIZACIÓN: hice lo que usted dijo pero tengo estos errores que no sé cómo fijar en el archivo de la clase:

 Description Resource Path Location Type RadioGroup_checkedButton cannot be resolved or is not a field RadioGroupRelative.java /BlockBall/src/com/stickfigs/blockball line 81 Java Problem The constructor RelativeLayout.LayoutParams(int, int, float) is undefined RadioGroupRelative.java /BlockBall/src/com/stickfigs/blockball line 265 Java Problem The method setOnCheckedChangeWidgetListener(CompoundButton.OnCheckedChangeListener) is undefined for the type RadioButton RadioGroupRelative.java /BlockBall/src/com/stickfigs/blockball line 363 Java Problem The method setOnCheckedChangeWidgetListener(null) is undefined for the type RadioButton RadioGroupRelative.java /BlockBall/src/com/stickfigs/blockball line 377 Java Problem VERTICAL cannot be resolved to a variable RadioGroupRelative.java /BlockBall/src/com/stickfigs/blockball line 68 Java Problem Widget_CompountButton_RadioButton cannot be resolved or is not a field RadioGroupRelative.java /BlockBall/src/com/stickfigs/blockball line 79 Java Problem 

2 Solutions collect form web for “RadioGroup extendiendo RelativeLayout?”

Necesitas obtener el código fuente de RadioGroup desde aquí , reemplazar todas las entradas de LinearLayout por RelativeLayout .

Agregue este código a algún archivo xml de su proyecto (normalmente su nombre es attrs.xml):

 <resources> <declare-styleable name="RadioGroup"> <attr name="android:checkedButton" /> </declare-styleable> </resources> 

Reemplace los constructores de RadioGroup con estos:

 public RadioGroup(Context context) { super(context); if (!isInEditMode()) { init(); } } public RadioGroup(Context context, AttributeSet attrs) { super(context, attrs); if (!isInEditMode()) { TypedArray attributes = context.obtainStyledAttributes( attrs, R.styleable.RadioGroup, 0, android.R.style.Widget_CompoundButton_RadioButton); int value = attributes.getResourceId(R.styleable.RadioGroup_checkedButton, View.NO_ID); if (value != View.NO_ID) { mCheckedId = value; } attributes.recycle(); init(); } } 

Quite el constructor siguiente de la clase interna LayoutParams :

 public LayoutParams(int w, int h, float initWeight) { super(w, h, initWeight); } 

Reemplazar todas las ocurrencias de las llamadas al método setOnCheckedChangeWidgetListener() con el método setOnCheckedChangeListener() . IMPORTANTE : En este caso, no será posible utilizar este método de un código que utiliza este widget.

No he probado esto, pero espero que esto funcione.

Copia la fuente de RadioGroup desde aquí y edítala para cambiarla para extender RelativeLayout en lugar de LinearLayout.

  • Cómo importar el recurso de forma (xml) al código?
  • Cómo analizar el valor en el atributo en el análisis xml
  • Botón de anillo redondo en Android
  • Permisos de usuario de Android para acceder a Internet
  • Cómo extraer archivos apk de la PC?
  • La configuración de un indicador personalizado para ExpandableListView no funciona
  • Cómo especificar el valor nulo para un recurso de cadena en xml en Android?
  • Cómo seleccionar aleatoriamente de una lista de string-array
  • ¿Cómo puedo utilizar las operaciones lógicas en el enlace de datos de Android?
  • Android.view.InflateException: Línea de archivo XML binario # 33: Error al inflar fragmento de clase
  • ¿Hacer una Snackbar sin vista?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.