This is not a problem as long as you use the typical combination fragmentTransaction.replace(R.id.container, new MyFragment()).addToBackStack(null).commit() and navigate only forward and backward, but any complicated operation becomes either difficult, or impossible What if I wanted to go from [A,B,C] to [B,D] ?