Android Alternate row Colors in ListView
android, listview
Solution
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.
Problem
``` public class ListView extends ListActivity { static String item; public void onCreate(Bundle icicle) { super.onCreate(icicle); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Str.S); setListAdapter(adapter); } ``` This is my list view class which works nice and it takes the strings from a class called Str and display them in a listview, the problem is the listview style isn't nice, it's black with the strings in white. I want them to be alternative each row has a color. I tried many tutorials but none was clear enough .. How do I make Alternative Color for each row .. ex. row1 Blue, row 2 White, row 3 Blue, row 4 White, etc..