我有以下情况:在活动A中,当用户点击按钮时,应用程序向服务器发送请求以检索某些信息,然后将此信息放入启动活动B的意图中。
在活动B中,在onCreate
方法中,我做setContentView(R.layout.activity_b)
(这种布局非常复杂,因此即使从XML中充气也需要一段时间),然后进行一堆初始化。最后,在onStart
中,我做了一些组件的最终准备/安排。
在活动A中,当用户按下按钮时,我启动AsyncTask
,它从服务器获取信息并启动活动B,将所需信息传递给意图。当我调用'startActivity'时,活动窗口B立即滑入位置,但是可能需要几秒钟才能完成初始化。在这几秒钟内,我看到一个黑屏。然后,最后,onStart
被执行,一切都继续。
我想要做的是在屏幕外完成所有这些初始化,在活动B滑入视图之前,以便当它“到达”时,所有布局都已存在。任何想法如何实现这一目标?
答案 0 :(得分:0)
我认为你不能。它们本质上的活动只有在屏幕上显示时才“活着”。
所以我认为没有办法让一个Activity能够开始工作(即实例化视图)而不会在屏幕上显示前景。
我想说,更好的用户体验的最佳选择是使用某种进度指示器来显示用户正在加载的内容,然后在加载完成后隐藏。
答案 1 :(得分:0)
也许片段可以帮助?改变活动A& B到片段A& B并在背景中加载片段B而不显示它。