2014-12-22 72 views
1

我有一個啓動畫面活動SpalshScreenActivity.java,顯示幾秒鐘。開始新的活動「當前活動後面」

同時,它啓動另一個活動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而不將其帶到前臺?

+2

難道你不應該在Splash活動上做處理,一旦完成,就加載你的'HomeActivity'?如果需要,將數據傳遞給此活動。 – Rohit5k2

+0

或者你有一個控制器類,我們稱之爲AppManager,它會爲你做處理?一旦你開始SplashActivity,AppManager開始處理,並且一切準備就緒後,你就可以啓動HomeActivity了。這樣你可以將處理後的數據保存在AppManager類(如果是靜態的)或實例中。 – hmartinezd

+0

是的,如果沒有令人滿意的答案這個問題,我將切換到該解決方案..我試圖避免進行很多修改 –

回答

1

在任何時候只能運行一個活動。正是由於這個限制,片段被引入以支持平板電腦上的兩個「視圖」。如果所有操作都顯示進度條/微調,通常不需要整個活動。

如果所有啓動畫面正在顯示一個微調,那麼你應該真的使它成爲MainActivity中佈局的一部分。將MainActivity佈局設置爲RelativeLayout,然後微調控件將父項與背景進行匹配。

當MainActivity完成加載後,您可以將可見性設置消失。如果你想要的話,你甚至可以添加一個動畫,以便屏幕的啓動畫面流動。

0

您可以將片段 中給定活動的邏輯寫入,並在加載完成後將加載片段與閃屏片段交換。

所有這一切都發生在同一個活動

0

開始SpalshScreenActivity.java上的HomeActivity.java的onCreate前setContentView錯誤不完成一個。此時HomeActivity.java加載數據並且不可見。幾秒鐘後只完成飛濺