This library uses annotation processor to help you generate data-view-binding adapters for android list views (such as the RecyclerView). In fact, it abstracts the adapter as a type matcher for data and item-view. It can display different item-views based on a list of multi-type data. There are already some libraries doing this kind of thing. Such as MultiType, ItemPool (Ancestor of this library).