Android 片段在显示之前准备其视图

Android 片段在显示之前准备其视图,android,android-fragments,Android,Android Fragments,在片段活动中有两个片段(我们称之为A和B)。片段A只是一个占位符——一个“加载”的动画,效果很好。片段B根据来自网站的一些解析绘制了一张图表。也就是说,它包含一个广播接收器,用于处理来自解析/加载服务的回调。现在我使用片段A的原因是隐藏这些条是如何绘制的——当它们到达时,从广播接收器的onReceive()方法内部一次绘制一条(看起来不太舒服)。我从片段B的onCreate()方法内部启动解析/数据加载服务。尽管如此,即使片段A延迟5秒后显示片段B,条形图仍在构建中。我想完成的是,当我调用rep

在片段活动中有两个片段(我们称之为A和B)。片段A只是一个占位符——一个“加载”的动画,效果很好。片段B根据来自网站的一些解析绘制了一张图表。也就是说,它包含一个广播接收器,用于处理来自解析/加载服务的回调。现在我使用片段A的原因是隐藏这些条是如何绘制的——当它们到达时,从广播接收器的
onReceive()
方法内部一次绘制一条(看起来不太舒服)。我从片段B的
onCreate()
方法内部启动解析/数据加载服务。尽管如此,即使片段A延迟5秒后显示片段B,条形图仍在构建中。我想完成的是,当我调用
replace()
方法将片段A替换为片段B时,片段B必须显示的内容必须是照相机准备就绪。

如果我正确理解您的描述,您将显示A,然后在5秒后将其替换为B。这意味着B将在5秒延迟后创建,并且服务将仅在该时刻启动

您可能需要的是:显示片段B,然后使用
add()
在其上添加片段A。然后在延迟之后,或者在最终广播到达时(IDK what is exability),删除片段a,这将显示片段B

话虽如此,严格地说,Android不会保证你的片段B总是存在于A之下。这可能永远不会发生,但Android保留销毁它并在A消失后重新创建的权利。如果您想彻底了解并避免这种情况,我会研究服务中中间响应的缓存,并且只在片段的所有数据都可用于构建图表时才发出广播