How to prevent calling onCreateView when back button pressed in fragment in android How to prevent calling onCreateView when back button pressed in fragment in android android android

How to prevent calling onCreateView when back button pressed in fragment in android


I know it has been too long to give this answer but what i am guessing is you are replacing your fragment with other one. I mean to say is you are using

ft.replace(R.id.realTabContent, fragment);

to move to other fragment which is you are using in your onItemClick so simple solution is use

ft.add(R.id.realTabContent, fragment);

instead of replacing your fragment.

Understand the difference between replace and add. This will solve your problem.

Replace : it will replace the original fragment and re-create the view when you come back
Add : it will just add a new fragment to stack.

Hope this will help someone who is facing the same problem...


I don't think prevent calling onCreateView is a good idea, beside if the function is not called, there will be exception, so NO, you shouldn't. Instead of doing that, I suggest you move your "listview created and new fetches new server data" into another place where you can call explicitly (when you want, where you want, onCreate() is a good place), don't put it in onCreateView(). Hope this helps.


You should cache your data objects apart from view variables as their references needs to be updated if you are fetching any data from server and don't want to make a call again then use branching to branch out that code.

Create an init() method where you do all initialization and server calls and logically branch out call to init() method whenever you don't want to call init().