我还没有实现这一目标,但是我认为通常的模式是在后台线程中进行长时间的初始化,并用于
Handler.post()更新UI。请参阅http://developer.android.com/reference/android/widget/ProgressBar.html,以获取其他示例,但可能与之相关。
另请参见以下答案,尤其是第一段:
问题很可能是您在完成所有工作的同一个线程中运行启动屏幕(某种对话框,例如我假设的ProgressDialog)。这将使初始屏幕的视图不会被更新,甚至可以使其不显示在屏幕上。您需要显示初始屏幕,启动AsyncTask实例以下载所有数据,然后在任务完成后隐藏初始屏幕。
更新 (基于您的更新和评论):除了在其中创建活动的线程之外,不应在任何线程中更新UI。为什么您不可能在后台线程中加载资源?



