Question

J'ai un ListFragment rempli à partir d'un curseur.J'ai l'arrière-plan de la liste défini sur blanc et, pour une raison quelconque, le texte est également défini sur blanc.J'ai essayé de modifier l'attribut textColor dans le fichier XML de mise en page, mais cela ne semble pas avoir d'effet.Quelqu'un peut-il signaler ce qui me manque ?Merci.

À partir du 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);
}

La disposition des éléments de liste :

<?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" />
Était-ce utile?

La solution

Je soupçonne que le texte n'est pas blanc, ce n'est tout simplement pas montrant que vous liez le mauvais TextView.Je pense que vous devez changer cette ligne:

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

à ceci:

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

Autres conseils

Je crois

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

fait votre texte blanc.Je ne sais pas pourquoi définir TextColor ne remplace pas la couleur, mais vous pouvez essayer de créer votre propre style avec la couleur spécifiée là-bas

Essaye ça :

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

Remplacement getApplicationContext avec getBaseContext fait l'affaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top