Taken from http://techdroid.kbeanie.com/2009/07/custom-listview-for-android.html