启动活动并延迟其过渡

时间:2010-12-01 15:09:42

标签: android views android-activity transition

我有两项活动:

    - 活动A从互联网收集数据(需要一些时间)
    - 活动B基于先前收到的数据构建UI元素(也需要一些时间)

当活动A开始下载时,应用程序进入加载阶段。当它完成后,活动B开始,所以我在A& A的观点之间进行了转换。 B.然后B也需要加载阶段。

我有加载 - 转换 - 加载 - 结果看起来不太好。

我想要加载 - 转换 - 结果将两个活动的加载分组。

所以我的问题是:有没有办法开始活动但是要推迟过渡?

2 个答案:

答案 0 :(得分:5)

我认为你没有采取正确的方式。我建议只使用装载机进行一项活动。然后使用AsyncTask之类的东西在不同的线程中加载数据。在数据加载时更新UI,然后在完成所有操作后删除加载器。您应该使用多个线程来完成需要时间的工作,否则您的UI将会冻结。看看你上面说的话,我不明白为什么你需要两个活动。

答案 1 :(得分:0)

您可以使用ActivityGroup:http://developer.android.com/reference/android/app/ActivityGroup.html

这可以让你实现你想要的。我认为没有它是不可能的 - (如果你真的需要等到表示数据的所有UI元素都被绘制出来。否则我建议按照下面的Amir建议。)

您将两个活动都放入ActivityGroup,但在开头隐藏B(visibility = gone)。然后,您可以在加载数据并构建B的UI后交换可见性/执行转换。

我很好奇,如果数据已经预先加载到A中,那么构建需要很长时间的布局/ UI。