Android “开始新活动”;“背后”;当前活动

Android “开始新活动”;“背后”;当前活动,android,android-activity,Android,Android Activity,我有一个闪屏活动SpalshScreenActivity.java,显示几秒钟 同时,它启动另一个ActivityHomeActivity.java,该活动进行一些处理,需要几秒钟才能加载 //Start a new activity in the BG Intent i = new Intent(this, HomeActivity.class); //i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); this.startActivi

我有一个闪屏活动
SpalshScreenActivity.java
,显示几秒钟

同时,它启动另一个Activity
HomeActivity.java
,该活动进行一些处理,需要几秒钟才能加载

   //Start a new activity in the BG
   Intent i = new Intent(this, HomeActivity.class);
   //i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   this.startActivity(i);

   //Remove this activity after few seconds so the HomeActivity shows in the FG
   Timer timer = new Timer();
   timer.schedule(new TimerTask() {
       @Override
       public void run() {
           finish();
       }
   }, 2000);

如何启动HomeActivity而不将其放在前面?

您可以在片段中编写给定活动的逻辑 并在加载完成后将启动屏幕片段与加载的片段交换


所有这些都发生在同一个活动中

在创建
HomeActivity时启动
SpalshScreenActivity.java
。java
setContentView
之前,bug不会完成一个。此时,
HomeActivity.java
加载数据并且不可见。几秒钟后,仅完成飞溅

一次只能运行一个活动。正是由于这个限制,引入了片段来支持平板电脑上的两个“视图”。如果整个活动都显示进度条/微调器,则通常不需要整个活动

如果启动屏幕所做的只是显示一个微调器,那么您真的应该让它成为MainActivity中布局的一部分。将MainActivity布局设置为RelativeLayout,然后微调器将父级与背景匹配


加载MainActivity后,可以将可见性设置为gone。如果需要,您甚至可以添加动画,以便启动屏幕在屏幕上流动。

您不应该对启动活动进行处理吗?一旦完成,请加载您的
HomeActivity
?如果需要,将数据传递到此活动。或者您有一个控制器类,我们称之为AppManager,它将为您进行处理?启动SplashActivity后,AppManager将开始处理,一切就绪后,即可启动HomeActivity。这样,您就可以将处理后的数据保存在AppManager类(如果是静态的)或实例中。是的,如果这个问题没有令人满意的答案,我将切换到该解决方案。。我试图避免进行大量的修改“这会进行一些处理”:这到底意味着什么?它如何进行“一些处理”?它在做什么?等待从bg服务填充sqllitedb以便刷新listview。。