I was surprised that getViewTypeCount() is so rarely overrided (codesearch). If you are an expert in this – this post is not for you:-) ListView and Adapter Basics How it works: ListView asks adapter “give me a view” (getView) for each item of the list A new View is returned and displayed Next question – what if we have one billion items? Create new view for each item? The answer is NO:-) Android