This project demonstrates of simple approach for implementation complex lists, based on RecyclerView.
You don't need call methods notify...(), beсause it is called automatically when you set data. You also don't need extend RecyclerView.Adapter
.
You need only create ItemController
for each type of list items and describe order of elements in Activity
/ Fragment
. ItemController incapsulates all interactions with list item, so it is very easy for reading, modifying and reusing.