Domanda

Ho una lista di listino popolata da un cursore.Ho lo sfondo della lista impostato su bianco, e per qualche motivo il testo è anche impostato su bianco.Ho provato a cambiare l'attributo TextColor nel layout XML, ma non sembra avere alcun effetto.Qualcuno può indicare quello che mi manca?Grazie.

Dall'elencofragio:

@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);
}
.

Il layout dell'elemento elenco:

<?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" />
.

È stato utile?

Soluzione

Sospetto che il testo non sia bianco, non si è mostrato solo perché ti viene vincolante per il testo errato.Penso che tu abbia bisogno di cambiare questa linea:

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

A questo:

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

Altri suggerimenti

credo

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

sta rendendo il tuo testo bianco.Non sono sicuro del perché impostare TextColor non sta prendendo il sopravvento del colore, ma potresti provare a rendere il tuo stile con il colore specificato da

Prova questo:

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

Sostituzione getApplicationContext con getBaseContext fa il trucco.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top