In PostAdapter in the method addItem it is better to use notifyItemInserted(…) instead of…
Roman Bielokon

One potential memory leak and kick for performance. I’m knot recommend use it in real life. Method onBindViewHolder — called really often, it means that you create class for viewmodel, than GC clear it. + you all time create new listners, and you have reference to context — potential memory leak. I did not run any codes and tools, but be carefull with it.