2012-06-13 165 views
2

我需要MAIN活動中的內容在兒童活動返回時進行更新。我嘗試了onActivityResult()方法中的以下代碼,該方法適用於其他活動(非主要),但不適用於主要活動。如何重新啓動MAIN活動

if (resultCode == Activity.RESULT_OK){ 
    finish(); 
    startActivity(getIntent()); 
} 

有關如何使MAIN活動再次執行OnCreate()的任何想法?

謝謝!

+0

你可以簡單地調用的onCreate(空) – logcat

+0

恢復它們的順序:startActivity(),然後結束() –

+0

你的代碼是正確的!恐怕你沒有達到resultCode == Activity.RESULT_OK塊把日誌和看到。 –

回答

1

寫的onResume()的東西method..it總會執行當u返回到主activity..for細節經過活動的生命週期..

+0

將問題中顯示的代碼移至onResume()是災難性的,因爲在最後調用finish()的情況下應用程序甚至無法啓動,並且在首先調用finish()的情況下不調用onCreate()。此外,我只想在兒童活動返回OK結果的情況下刷新活動,而不是所有情況。 –

0

這個問題似乎是,setResult()是如果忽視當前活動重新啓動。看我的other post

0

您的代碼應該是這個樣子:

Intent intent = new Intent(YourMainActivity.this, YourMainActivity.class); 
startActivity(intent); 
finish();