目前(Android API 17),AndroID Reference on Fragment中唯一提到的超级便是通过一些代码示例(不像AndroID Reference on Activity,它仔细注意到需要super的地方).
因此,根据需要建议searching the web或等待崩溃,以确定需要调用超级的地方.我要求SO用户分享他们对哪些Fragment生命周期方法需要调用super的知识.
片段生命周期方法 – 需要调用super
> onAttach()
> onCreate() – 大概是的,因为Activity版本需要它
> onCreateVIEw() – 无论有没有好看
> onActivityCreated()
> onVIEwStateRestored()
> onStart() – 大概是的,因为Activity版本需要它
> onResume() – 大概是的,因为Activity版本需要它
> onPause() – 大概是的,因为Activity版本需要它
> onStop() – 大概是的,因为Activity版本需要它
> onDestroyVIEw()
> onDestroy() – 大概是的,因为Activity版本需要它
> onDetach()
> onSaveInstanceState() – 大概是的,因为Activity版本需要它
解决方法:
除onSaveInstanceState之外的所有相应的Activity生命周期方法都需要调用super.此外:
> onAttach() – 是的
> onActivityCreated() – 是的
> onVIEwStateRestored() – 不是Fragment方法
> onDestroyVIEw() – 是的
> onDetach() – 是的
> onSaveInstanceState() – 从Fragment#onSaveInstanceState开始
看起来像是不
所有需要调用super的方法都在androID.app.Fragment中共享其方法的第一行:
mCalled = true;
这样,FragmentManager可以检查mCalled是否为true,并在未调用时抛出SuperNotCalledException.请参阅FragmentManager#moveToState以查看此实施.
总结以上是内存溢出为你收集整理的哪些Android Fragment生命周期方法需要super全部内容,希望文章能够帮你解决哪些Android Fragment生命周期方法需要super所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)