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

后端 未结 3 1989
执念已碎
执念已碎 2021-02-12 13:21

In my application, I have tabbar functionality. In one tab i am displaying server data in lisview, and on clicking on that detail page for that list item will be open in new fra

相关标签:
3条回答
  • 2021-02-12 13:33

    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...

    0 讨论(0)
  • 2021-02-12 13:51

    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.

    0 讨论(0)
  • 2021-02-12 13:55

    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().

    0 讨论(0)
提交回复
热议问题