在Activity.onStart()和Fragment1.onActivityCreated()和Fragment1.onStart()方法中,我的完整活动视图布局未完全加载。
在onActivityCreated()中,没有加载任何视图(我有几个片段,每个片段最多包含20个元素)。 findViewById(R.id.somefield)返回null。
在onStart()中,第一个片段视图是可访问的,但没有其他片段。
如果我没有尝试在任何这些方法中访问任何视图组件,只是让应用程序启动然后尝试访问onclick侦听器中的视图,则可以访问所有片段的整个视图(我使用setOffscreenPageLimit)
记录的活动片段生命周期似乎有些奇怪。
我注意到其他一些人在使用片段时发布了访问视图组件的问题。
有没有办法测试整个视图何时完全加载?
更新:将视图访问移动到最远的索引片段中的onActivityCreated()似乎正在工作。
答案 0 :(得分:0)
这是解释为什么我必须将访问移动到最后一个片段的onActivityCreated的日志:
V/MyApp( 7269): Activity: onCreate:
V/MyApp( 7269): Activity: onStart:
V/MyApp( 7269): Fragment1: onCreateView:
V/MyApp( 7269): Fragment1: onActivityCreated:
V/MyApp( 7269): Fragment1: onStart:
V/MyApp( 7269): Fragment2: onCreateView:
V/MyApp( 7269): Fragment2: onActivityCreated:
V/MyApp( 7269): Fragment2: onStart:
V/MyApp( 7269): Fragment3: onCreateView:
V/MyApp( 7269): Fragment3: onActivityCreated:
V/MyApp( 7269): Fragment3: onStart:
V/MyApp( 7269): Fragment4: onCreateView:
V/MyApp( 7269): Fragment4: onActivityCreated:
V/MyApp( 7269): Fragment4: onStart:
在调用最后一个片段生命周期方法之前,活动视图尚未完成。