Why is my fragment onCreate being called extensively whenever I page through my applications viewPager?

后端 未结 2 1215
小蘑菇
小蘑菇 2021-02-15 11:59

I\'m not quite understanding this fragment lifecycle business.

I have a pretty standard 3 page horizontal slider view Pager layout for a \"view details\" section of my a

2条回答
  •  梦如初夏
    2021-02-15 13:03

    @Espiandev's solution will work for your current case, but you're right that your state is the issue. You should use the setArgument and/or onSaveInstanceState methods to save your Fragment's state (which shouldn't be too hard, since e.g., a response from the server can usually be represented as a String), and then use getArgument and/or the Bundle passed in onCreate to restore it.

    Alternatively, you could have your Activity do the server fetches, and then call setArgument for each of your fragments, and check the arguments inside your Fragment to determine if your data has arrived yet (and if not, potentially display a loading state of some kind).

    If you care at all about screen orientation change, this related question will also be useful to you.

提交回复
热议问题