2011-04-06 13 views
13

Estoy intentando cambiar el color del texto del ListView pero no puedo encontrar la manera de hacer eso .. <Cambio ListView

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(); 

He intentado muchas maneras, pero no puedo cambiar el color . Quizás sea algo simple, pero estoy peleando con esto.

Mi archivo XML es

<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> 

Respuesta

6

El problema es que está utilizando el diseño elemento de la lista por defecto "android.R.layout.simple_list_item_1". Si desea cambiar el color del texto en la vista de lista, debe crear su propio diseño de elemento de lista con el color de texto correcto.

Se podría añadir este elemento a su carpeta de diseño:

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

A continuación, pasar este artículo en lugar de android.R.layout.simple_list_item_1

+0

Esto, por supuesto, es inútil si su vista de lista está configurada para que singleChoice muestre RadioButtons. Escribir su propio diseño personalizado requiere desarrollar su propio adaptador y mucho más código. Su solución está bien si todo lo que hace la lista es mostrar nada más que elementos de texto sin RadioButtons. – AndroidDev