web-dev-qa-db-fra.com

Changer la couleur du texte ListView

J'essaye de changer le texte couleur du ListView mais je n'arrive pas à trouver comment faire .. <

    listViewObject= (ListView) findViewById(R.id.chathlist);        
    ArrayList<String> chatHistory = new ArrayList<String>();
    chatHistory.add("Msg 1");
    chatHistory.add("Msg 2");
    chatHistory.add("Msg 3");
    chatHistory.add("Msg 4");
    chatHistory.add("Msg 5");
    chatHistory.add("Msg 6");
    chatHistory.add("Msg 7");
    ArrayAdapter aa=new ArrayAdapter<String>(getApplicationContext(),
    Android.R.layout.simple_list_item_1, chatHistory);
    listViewObject.setAdapter(aa);
    listViewObject.invalidate();

J'ai essayé de nombreuses façons mais je ne peux pas changer la couleur. C'est peut-être une chose simple mais je me bats avec ça.

Mon fichier XML est

  <RelativeLayout Android:id="@+id/chat_history_container"
            Android:layout_width="fill_parent" Android:layout_height="wrap_content">
            <ListView Android:paddingTop="15dip" Android:paddingBottom="15dip"
                Android:layout_width="fill_parent" Android:paddingLeft="15dip"
                Android:layout_height="wrap_content" Android:id="@+id/chathlist"
                Android:layout_gravity="center_horizontal"
                Android:layout_centerInParent="true" Android:paddingRight="15dip"
                 Android:textColor="#FF0000"  Android:listSelector="@drawable/gradient_box" >
            </ListView>
  </RelativeLayout>
13
Hussain
11
Mark Mooibroek

Le problème est que vous utilisez la disposition d'élément de liste par défaut "Android.R.layout.simple_list_item_1". Si vous souhaitez modifier la couleur du texte dans la vue de liste, vous devez créer votre propre disposition d'élément de liste avec la couleur de texte correcte.

Vous pouvez ajouter cet élément à votre dossier de mise en page:

<TextView xmlns:Android="http://schemas.Android.com/apk/res/Android"
 Android:id="@Android:id/text1"
        style="?android:attr/listItemFirstLineStyle"
        Android:paddingTop="2dip"
        Android:paddingBottom="3dip"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content" 
    Android:textColor="#FF0000" /> 

Passez ensuite cet élément au lieu d'Android.R.layout.simple_list_item_1

6
2bard