Change text color in android.R.layout.simple_list_item_2

EGHDK picture EGHDK · Jul 30, 2013 · Viewed 7.5k times · Source

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.

Answer

Blackbelt picture Blackbelt · Jul 30, 2013

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