Vik*_*pta 33 android fragment android-fragments back-stack
我对这些功能和它们的目的非常困惑.我观察到,使用新的replace()替换现有的片段.我们可以使用addToBackStack(null)将该片段放在后面的堆栈中,这样我们就可以回到之前显示的片段了.现在当一个片段被添加(或替换) - onAttach()- > onCreate()etc ....片段的方法按顺序调用.
现在,当我们remove()从我们的活动中调用片段时,片段的哪些函数被调用以及按什么顺序?
做什么attach()和detach()做什么?是否detach()删除片段?并且这两个时attach()和detach()使用时,该片段的功能调用,并且在该阶ΣΔ
还有什么呢popBackStack()?我的意思是当我们popBackStack()从我们的活动中使用片段时调用哪些函数?
什么时候onDestroy()调用?
谢谢.
Ada*_*nos 24
现在当我们从我们的活动调用片段上的remove()时,调用片段的哪些函数以及以哪种顺序调用?
请查看http://developer.android.com/reference/android/app/Fragment.html.
顺序是:onPause(),onStop(),onDestroyView(),onDestroy(),onDetach()
attach()和detach()有什么作用?detach()是否删除了片段?当使用这两个attach()和detach()时,会调用片段的哪些函数以及以哪种顺序调用?
attach()和detach()分别是关联或分离的Fragment从与/ Activity.附加时Fragment,onAttach()调用生命周期方法,在分离时,onDetach()调用生命周期方法Fragment.有关更多信息,请查看上面的链接.
另外,popBackStack()会发生什么?我的意思是当我们在活动的片段上使用popBackStack()时调用哪些函数?
如果Fragment没有被破坏,然后popBackStack()将onStart()和onResume()方法调用.如果Fragment之前已经销毁过,那么将从中调用生命周期方法onAttach().当你按下后退按钮时,它就是一样的Activities.
emo*_*rol 12
只是一个注释popBackStack().它不弹出片段,它会弹出片段事务.因此无论最后一个片段事务是什么都被颠倒了 如果您正在显示FragmentA并且您的交易是:
fragmentTransaction.replace(R.id.your_layout, fragmentB);
fragmentTransaction.addToBackStack(null);
Run Code Online (Sandbox Code Playgroud)
它将替换FragmentA为FragmentB,并将该事务(不是片段)添加到后端堆栈.如果然后点击返回按钮,它会弹出返回堆叠,并得到了交易,这是"替换这个FragmentA用FragmentB".然后它反转该交易.向后,指令是替换当前片段所用的内容FragmentA.如果原件FragmentA仍然存在,则使用该原件.如果它被摧毁了,它会成为一个新的.
| 归档时间: |
|
| 查看次数: |
62767 次 |
| 最近记录: |