el color de texto del hilandero es blanco?
Yo uso un Spinner dentro de un diseño. Yo uso este código:
... <Spinner android:layout_width="200dp" android:layout_height="wrap_content" android:id="@+id/spin_prod_promo" /> ...
Ahora, cuando asigno su adaptador utilizo este código:
- Android Spinner - ¿cómo hacer el tamaño del elemento seleccionado actualmente?
- Spinner - enfoque al primer artículo
- Spinner - muestra una pista cuando el adaptador está vacío
- Cambiar el color del divisor de Spinner
- Cómo hacer un Spinner de Android con el texto inicial "Seleccionar uno"
... ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(mcontext, android.R.layout.simple_spinner_item, mylabels); // Drop down layout style dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); Spinner myspinner = (Spinner) V.findViewById(R.id.spin_prod_promo); // attaching data adapter to spinner myspinner.setAdapter(dataAdapter); ...
Mi problema es que, el color de texto de la ruleta es blanco … por lo tanto ilegible, y no lo configuro para que sea así en cualquier parte del código.
Lo "curioso" es que utilizo el mismo código en una actividad diferente y el Spinner tiene los colores correctos. La diferencia es que en este caso (BAD) la hiladora se encuentra en un fragmento.
- Así que si el spinner está en una actividad – los colores están bien
- Si el spinner se encuentra en un fragmento – el color está desordenado
Intenté usar una disposición de encargo para los artículos del hilandero, pero todo lo que sucedí era hacer la mirada del hilandero inhabilitada. Además siempre hay un elemento en el menú desplegable que tiene el color del fondo (sólo se puede ver si hago clic en él, entonces puedo ver el contenido, siempre y cuando mantenga el clic en) ¿Qué está pasando aquí? ¿Como puedó resolver esté problema?
¿Hay algo que pueda hacer para que los colores del hilandero sean los colores del tema? Todos los demás elementos del fragmento tienen colores normales …
Gracias
- Alternativa a la CLASE SPINNER ALTAMENTE FLAWED en Android
- Android Spinner utilizando ArrayList <String>
- Cómo crear Spinner-list usando CustomAdapter en android
- ¿Por qué OnItemSelectedListener solo se llama cuando un elemento cambia, pero no en cada selección de usuario?
- Dos spinner en una actividad
- Cambiar el color del pequeño triángulo en spinner en android
- Android obtener todos los países en la matriz de spinner
- ¿Cómo establecer el valor por defecto de Spinner como nulo?
Contexto mcontext = getActivity (). GetApplicationContext (); ¿Esto esta mal?
Sí, esto está mal. Sólo utilice getApplicationContext()
cuando sepa exactamente por qué está utilizando getApplicationContext()
. En particular, nunca utilice getApplicationContext()
para inflar diseños, ya que se atornilla a las cosas por no utilizar el tema correcto .
Quiero borrar mcontext
completo, reemplazándolo con getActivity()
donde sea necesario en su fragmento.
Solo prueba esto
String[]array={"A","B","C","D"}; ArrayAdapter<String> adapter=new ArrayAdapter<String> (**YourClassName.this**,android.R.layout.simple_list_item_checked,array); listView.setAdapter(adapter);
NOTA YourClassName.this
es el nombre de su clase actual.Este código funciona para mí.
Encontré la solución. Es declarar un diseño personalizado para el elemento del Spinner y utilizarlo en lugar del predeterminado. Y en el diseño personalizado, establezco el color del texto de TextView en negro. Funciona de esta manera. Así que el código: (promospin_row.xml)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Text" android:textColor="#000000" android:id="@+id/tv_promo_txt" android:paddingLeft="5dp" android:paddingTop="5dp" /> </LinearLayout>
y el código java:
// Creating adapter for spinner ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(mcontext, R.layout.promospin_row, R.id.tv_promo_txt, mylabels); // Drop down layout style dataAdapter.setDropDownViewResource(R.layout.promospin_row); Spinner myspinner = (Spinner) V.findViewById(R.id.spin_prod_promo); // attaching data adapter to spinner myspinner.setAdapter(dataAdapter);
De esta manera, el texto del elemento se convierte en negro. Y no hay otras anomalías. Gracias @CommonsWare por su tiempo
Sólo utilice null en lugar de getApplicationContext (). Debe funcionar. Lo he probado y su funcionamiento. En su aplicación puede utilizar null en lugar de mcontext
Estaba teniendo este problema también. Esto no es una solución, sino una solución potencial para otros intentar en caso de que las soluciones anteriores no funcionen.
Establecer el color de fondo de la ventana emergente que aparece cuando se selecciona la hiladora a algo que contrasta con el color de texto blanco.
<Spinner ... android:popupBackground="@color/layout_background" ... />
Aquí he definido layout_background como un color gris oscuro # 565656 en un archivo separado llamado colors.xml ubicado en mi carpeta src / main / java / res / values.
Otra solución es utilizar GetApplication()
como el contexto en lugar de
getActivity().getApplicationContext();
De esta manera puedo usar el diseño de elementos por defecto sin tener que declarar un nuevo diseño personalizado.
Así que supongo que CommonsWare tenía razón después de todo. Es el contexto el que explotó las cosas. Por favor, @Commonsware, haz tu comentario una respuesta para poder aceptarlo, porque te lo mereces.
EDITAR
Estaba escribiendo esto mientras escribía su respuesta, por eso parece que no vi su respuesta 🙂
Sólo use getBaseContext () en lugar de mcontext. Trabajó para mí. He puesto el adaptador de spinner dentro de la función onItemClick de AutoCompleteTextView y tenía el mismo problema de color de texto hasta que use getBaseContext (). Espero que esta respuesta ayude.
- Cómo cambiar el color predeterminado del círculo ProgressBar en Android
- No más Text Reflow después de ampliar KitKat WebView