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.  Android has a Button class for text (and images if your not really concerned with formatting them) and an ImageButton class for images.  Like the ListView/GridView situation mentioned earlier, these two buttons are not, in fact, related.  Button inherits from TextView and ImageButton inherits from ImageView.