2011-09-08 73 views
0

當我執行代碼時,只有在startActivityForResult()結束後纔會調用startActivity()。我怎樣才能首先啓動startActivity()?我嘗試與線程,但我沒有成功。如何在startActivityForResult()之前啓動startActivity()

// Splash Correct 
    Intent correct = new Intent("com.quizcontest.alex.SPLASHCORRECT"); 
    startActivity(correct); 

    Bundle b = new Bundle(); 
    Intent i = new Intent(StartPlaying.this, CorrectAnswer.class); 
    b.putInt("p1Key", player1Score); 
    b.putInt("p2Key", player2Score); 
    b.putInt("rKey", round); 
    i.putExtras(b); 
    startActivityForResult(i, 0); 
+0

'飛濺正確'做什麼? – Squonk

+0

@MisterSquonk這個飛濺應該彈出1.5秒,第二個活動應該被調用 – Alex

回答

0

startActivity不會阻止。它會導致在新線程中發生某些事情,所以它會立即執行發生在它後面的行。

看起來你正在嘗試顯示啓動畫面。請參閱相關的spash屏幕這個其他問題:Android SplashScreen或本例中使用一個對話框,顯示啓動畫面:http://blog.iangclifton.com/2011/01/01/android-splash-screens-done-right/

如果你想要的行爲是開始活動1,然後啓動活性2,正確的行爲是開始活動1結果。然後onActivityResult將在活動1完成時被調用。在這一點上,你可以開始活動2.

+0

第二個活動也是startActivityForResult() – Alex

+0

我解決了這個問題。我把飛濺活動放在第二個活動中。 – Alex

相關問題