El texto de CheckBox de Android no se muestra

Estoy intentando crear dinámicamente algunos CheckBoxes en una de mis actividades de Android, pero no es renderizar el texto.

Aquí está mi código simplificado …

  1. Diseño XML:

    <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="10dip"> ... <LinearLayout android:id="@+id/register_attracted_to" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" /> ... </LinearLayout> 
  2. Código de actividad:

     final LinearLayout attractedTo = (LinearLayout) findViewById(R.id.register_attracted_to); final CheckBox male = new CheckBox(this); male.setText("Male"); attractedTo.addView(male); final CheckBox female = new CheckBox(this); female.setText("Female"); attractedTo.addView(female); 

Mi código "real" es un poco más complejo (cualquier dinámica) que esto, por lo que no he incluido simplemente las casillas de verificación en el propio diseño. Sin embargo, incluso dumbing mi código aún no hacer el texto de casilla de verificación correctamente.

He aquí una captura de pantalla para demostrar (vea la sección "Atraído a"), con un poco más para demostrar que mi diseño vertical parece estar funcionando correctamente de lo contrario:

Casillas de verificación de Android que faltan texto

Por supuesto que me imagino esto poco después de publicar una recompensa. 😉 Resulta que puesto que estaba fijando el color de fondo de mi opinión del envase al blanco, el texto blanco del defecto se mezclaba adentro. La solución era fijar el color de texto de cada casilla de verificación. es decir:

 final LinearLayout attractedTo = (LinearLayout) findViewById(R.id.register_attracted_to); final CheckBox male = new CheckBox(this); male.setText("Male"); male.setTextColor(getResources().getColor(R.color.foreground_text)); attractedTo.addView(male); final CheckBox female = new CheckBox(this); female.setText("Female"); female.setTextColor(getResources().getColor(R.color.foreground_text)); attractedTo.addView(female); 

Usted no está configurando los parámetros de Layout, el parámetro Layout dice cómo se mostrará el control

 final CheckBox female = new CheckBox(this); female.setText("Female"); female .setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f)); attractedTo.addView(female); 

Tal vez sea debido a la simplificación de su código real, pero ¿estableció el ancho y la altura de su casilla de verificación?

  • Android 5.0 - las casillas de verificación de las preferencias no son visibles
  • Cuándo usar CheckBox y cuando cambie
  • ¿Cómo puedo cambiar el tamaño de un título CheckBox o hacer que envuelva en un xml PreferenceScreen?
  • Lista personalizada haciendo clic con las casillas de verificación
  • ¿Cambiar el estado del CheckBox en el elemento de lista?
  • Casilla de verificación en CursorAdapter
  • Android Espresso - Haga clic en la casilla de verificación si no está marcada
  • Cambiar el tamaño de una casilla de verificación en android
  • Cambiar el resumen de CheckBoxPreference basado en el estado marcado
  • Android obtiene texto de todas las casillas marcadas en listView
  • No se puede usar la casilla de verificación en eclipse con el complemento de adt de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.