2011-04-28 11 views
5

este es un problema similar al que se menciona en un related post pero pensé que era lo suficientemente diferente como para obtener su propia pregunta. Aquí va:Android RadioGroup/RadioButtons dinámicos como botones planos

he sido capaz de obtener el "círculo de radio" a desaparecer ningún problema cuando se declaran los botones de radio en XML estableciendo el atributo botón del botón de opción para anular la siguiente manera:

<RadioButton 
android:id="@+id/radioButton1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="One" 
android:background="@drawable/radio_button_selector" 
android:button="@null"/> 

Pero cuando intento y declarar los botones de selección dinámica no puedo obtener el círculo de radio a desaparecer incluso cuando hago esto:

myRadioButton.setButtonDrawable(null); 

Aquí está mi ejemplo ya pesar de que puse el dibujable botón para anular el círculo de radio sigue aparece.

RadioGroup myRadioGroup = (RadioGroup)findViewById(R.id.myRadioGroup); 
for (int i = 0; i < arrayListOfRadioButtonStringNames.size(); i++) 
{ 
    RadioButton myRadioButton = new RadioButton(this); 
    myRadioButton.setText(arrayListOfRadioButtonStringNames.get(i)); 
    myRadioButton.setButtonDrawable(null); 
    myRadioButton.setBackgroundResource(R.drawable.radio_button_selector); 
    myRadioGroup.addView(myRadioButton); 
} 
myRadioGroup.invalidate(); 

si en lugar de ajustar el botón dibujable a vacío, de esta manera:

myRadioButton.setButtonDrawable(android.R.id.empty); 

el círculo de radio desaparece, pero el texto no entra en la zona donde el círculo de radio debe ser. Aquí hay un poco de arte ASCII para mostrar lo que hace:

setButtonDrawable (nulo): (O = círculo de radio)

------------------- 
| O One | O Two | 
------------------- 

setButtonDrawable (android.R.id.empty):

------------------- 
| One | Two | 
------------------- 

He intentado configurar la gravedad del texto, etc. para que el texto vaya en ese espacio vacío, pero parece que el "círculo de radio" todavía está allí, pero simplemente no es visible.

Cualquier ayuda sobre mi problema sería apreciada. Gracias.

+0

En realidad, configurar el botón que se puede extraer del recurso vacío de android funcionó ... Todo lo que tenía que hacer era: myRadioButton.setButtonDrawable (android.R.id.empty); myRadioButton.setPadding (5,0,5,0); y luego funcionó (en el Galaxy Tab) ... PERO: por alguna razón, cuando lo ejecuto en el Xoom, falla y me da un "android.content.res.Resources $ NotFoundException: archivo del recurso dibujable Id #_______" ¿Por qué el Xoom no tiene acceso al recurso android.R.id.empty, pero el Galaxy Tab sí? – aveyD

+0

Se arregló este problema. Ver la publicación aquí: http://stackoverflow.com/questions/5997359/android-r-id-empty-broken-in-xoom-honeycomb – aveyD

Respuesta

1

Vi que ya solucionó este problema, pero me pregunto si alguna vez lo intentó: setVisibility(View.GONE); Creo que debería funcionar.

+0

No he tenido la oportunidad de probar esto todavía, pero ¿no sería solo eso? hacer desaparecer todo el botón de radio? Solo quiero que el 'punto' dentro del botón de radio desaparezca. Aunque gracias por tu sugerencia. :) – aveyD

+0

Ah, sí, eso es cierto. Perdí ese :) –

Cuestiones relacionadas