0

在 Activity.onStart() 和 Fragment1.onActivityCreated() 和 Fragment1.onStart() 方法中,我的完整活动视图布局未完全加载。

在 onActivityCreated() 中没有加载任何视图(我有几个片段,每个片段最多 20 个元素)。findViewById(R.id.somefield) 返回 null。

在 onStart() 中,第一个片段视图是可访问的,但没有其他片段。

如果我根本不尝试在任何这些方法中访问任何视图组件,只是让应用程序启动,然后尝试在 onclick 侦听器中访问视图,那么所有片段上的整个视图都可以访问(我使用 setOffscreenPageLimit)。

记录在案的活动片段生命周期似乎有些奇怪。

我注意到其他一些人在使用片段时也发布了关于访问视图组件的问题。

是否有某种方法可以测试整个视图何时完全加载?

更新:将视图访问移动到最远索引片段中的 onActivityCreated() 似乎正在工作。

4

1 回答 1

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:

在调用最后一个片段生命周期方法之前,活动视图是不完整的。

于 2013-10-14T16:32:51.283 回答