Pregunta

Tengo una lista de listos poblados de un cursor.Tengo el fondo de la lista establecido en blanco, y por alguna razón, el texto también se establece en blanco.He intentado cambiar el atributo TextColor en el diseño XML, pero no parece tener ningún efecto.¿Alguien puede señalar lo que me falta?Gracias.

de la listfragment:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    String[] from = {DBConstants.COL_FAMILY_NAME};
    int[] to = {android.R.id.text1};

    getLoaderManager().initLoader(FAMILY_LOADER, null, this);
    adapter = new SimpleCursorAdapter(getActivity().getApplicationContext(), R.layout.simple_spinner_drop_down_view, null, from, to, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
    setListAdapter(adapter);
}


@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    registerForContextMenu(getListView());

    getListView().setBackgroundResource(android.R.color.white);
    getListView().setCacheColorHint(android.R.color.transparent);
}

El diseño del elemento de lista:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/spinnerItemText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="15dip"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#000000" />

¿Fue útil?

Solución

Sospecho que el texto no es blanco, simplemente no se muestra porque está vinculando a la vista de texto incorrecta.Creo que necesitas cambiar esta línea:

int[] to = {android.R.id.text1};

a esto:

int[] to = {R.id.spinnerItemText};

Otros consejos

creo

android:textAppearance="?android:attr/textAppearanceLarge"

está haciendo que su texto sea blanco.No estoy seguro de por qué configurar TextColor no está anulando el color, pero puede intentar hacer su propio estilo con el color especificado allí

Intenta esto:

adapter = new SimpleCursorAdapter(getActivity().getBaseContext(),
        R.layout.simple_spinner_drop_down_view, null, from, to,
        CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

Reemplazo de getApplicationContext con getBaseContext hace el truco.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top