Use AbsListView instead of ListView thus enabling GridView usage
Require List rather than ArrayList in ArrayAdapter constructor