The Android APIs are filled with things that don’t quite seem right. I’ve always been annoyed by the lack of relationship between interface elements. For instance, isn’t a ListView really just a special case of a GridView with only one column? Yet GridView and ListView aren’t directly related, so we get oddities where I can add header and footer views to a ListView, but not a GridView. One thing that seems to trip people up is the Button class.