Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change ListView's textcolor

I am trying to change the text color of the ListView but I cant find how to do that..<

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

I have tried many ways but I can't change the color. It maybe a simple thing but I'm fighting with this.

My XML file is

  <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>
like image 578
Hussain Avatar asked Apr 06 '11 10:04

Hussain


2 Answers

Check these for more info:

http://www.anddev.org/view-layout-resource-problems-f27/changing-listview-text-color-t14527.html

Changing text color of list view in android

Change Text Color in ListView

Make a layout for your List items and bind that to a ListAdapter.

like image 68
Mark Mooibroek Avatar answered Oct 13 '22 12:10

Mark Mooibroek


The problem is that you are using the default list item layout "android.R.layout.simple_list_item_1". If you want to change the color of the text in the listview you must create your own list item layout with the correct text color.

You could add this item to your layout folder:

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

Then pass this item instead of android.R.layout.simple_list_item_1

like image 35
2bard Avatar answered Oct 13 '22 12:10

2bard