Fragment lifecycle with respect to it's activity

五迷三道 提交于 2019-12-20 09:29:47

问题


Situation My activity waits on an Async operation and after it hears back from async operation, it needs to pass information to 2 fragments inside it.

Requirement 1. Both fragments need their onCreateView calls to be done for them to have their layouts loaded, 2. They need for themselves to be attached to their activity so that getActivity() works.

I wrote a setData() method in both the fragments and am looking for the "correct" place in the activity's lifecycle to invoke them.

onCreate() of the activity does not work, onStart() of the activity does not work and onStart() of the fragment does not work.

Nothing works, what am I missing here?


回答1:


The official documentation for the Fragment lifecycle explains this clearly - please refer to it and then ask follow-up questions if something is unclear.




回答2:


This Image will be helpful to understand both life cycles together.

As many people complaints and it is somewhat valid argument that this life cycle is too complicated, in Google I/O 2018,They have suggested to use Architecture component Framework. Please check this Docs




回答3:


when you are at Activity2---->backpress--->Fragment2(Activity1)---means Activity1 again attach from fragment2 so on OnAactivityCreated() method Activity1 is completely loaded ....so at that we can call setData() method of your Activity1...




回答4:


onAttachFragment()-activity is called before onCreate()-activity and after onAttach()-fragment




回答5:


Call onDestroy on onStop of your fragment. This should call onCreate when the fragment is launched. Let me know if works as an ideal solution for your problem.



来源:https://stackoverflow.com/questions/7496844/fragment-lifecycle-with-respect-to-its-activity

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!