but i am just curious why does this happen.
You're not using the fragments properly. Right now you first build the ViewPager
along with its adapter containing fragments. The problem is that in those fragments you have a callback which triggers a new adapter to be set on the ViewPager
using the same fragments. As you already have a transaction in the process, trying to make another one in the process will not work.