Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change text color in android.R.layout.simple_list_item_2

I'm using a simple adapter to display my code. Unfortunately, I need to change the top textView color.

This is a snippet of my code:

// Keys used in Hashmap
String[] from = { "txt1", "txt2" };
// Ids of views in listview_layout
int[] ids = { android.R.id.text1, android.R.id.text2 };
SimpleAdapter adapter = new SimpleAdapter(this, aList,
android.R.layout.simple_list_item_2, from, ids);
setListAdapter(adapter);

I tried to make my own simple_list_item_2, but it wouldn't allow me to change the color of a textView in xml for some reason. Any ideas on how to do this?

My last thought is:

findViewById(android.R.id.text1).setTextColor(#000) but I don't know where to put it, and my hex code doesn't work.

like image 435
EGHDK Avatar asked Jul 30 '13 07:07

EGHDK


2 Answers

you have to override getView from SimpleAdapter. For instance:

SimpleAdapter adapter = new SimpleAdapter(this, aList,
            android.R.layout.simple_list_item_2, from, ids) {

        public View getView(int position, View convertView, ViewGroup parent) {
            View view = super.getView(position, convertView, parent);
            TextView text1 = (TextView) view.findViewById(android.R.id.text1);
            text1.setTextColor(Color.RED);
            return view;
        };
    };
like image 123
Blackbelt Avatar answered Sep 24 '22 05:09

Blackbelt


Create a custom xml Layout for your ListView items and set the text color of the TextView using the textColor attribute:

<TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView"
            android:textColor="#ff0000" />
like image 21
FD_ Avatar answered Sep 26 '22 05:09

FD_