Android Alternate row Colors in ListView

Here is how to do that.

My example code is given here in brief:

Override the getView method in your adapter:

@Override
public View getView(int position, View convertView, ViewGroup parent) {  
View view = super.getView(position, convertView, parent);  
if (position % 2 == 1) {
    view.setBackgroundColor(Color.BLUE);  
} else {
    view.setBackgroundColor(Color.CYAN);  
}

return view;  
}

Override ArrayAdapter and override getView method there.

So if your adapter is something like this:

public class MyAdapter extends ArrayAdapter

Your ListActivity will change like this:

 ArrayAdapter<String> adapter = new MyAdapter<String>(this,
                android.R.layout.simple_list_item_1, Str.S);

Here’s an example about overriding ArrayAdapter.

Leave a Comment