我需要在子活动返回时更新MAIN活动的内容。我在onActivityResult()
方法中尝试了以下代码,该方法适用于其他活动(非MAIN)但不适用于MAIN活动。
if (resultCode == Activity.RESULT_OK){
finish();
startActivity(getIntent());
}
关于如何使MAIN活动的任何想法再次执行OnCreate()?
谢谢!
答案 0 :(得分:1)
在OnResume()方法上写东西。当你返回主活动时,它会一直执行...详情请参阅活动生命周期..
答案 1 :(得分:0)
问题似乎是,如果重新启动当前活动,则会忽略setResult()
。查看我的other post。
答案 2 :(得分:0)
您的代码应如下所示:
Intent intent = new Intent(YourMainActivity.this, YourMainActivity.class);
startActivity(intent);
finish();
答案 3 :(得分:0)
将以下代码放入onBackPressed()
方法内:
public void onBackPressed() {
Intent intent= new Intent(MainActivity.this, MainActivity.class);
startActivity(intent);
}
MainActivity.class
是我的启动器活动。
现在,活动将返回到每次启动的相同内容。
答案 4 :(得分:0)
您可以重新启动该应用程序,然后确保再次执行onCreate(如果您不介意丢失Backstack)。我使用这种方法在我的应用中执行此操作:
private void restartApp() {
Intent intent = getBaseContext().getPackageManager().getLaunchIntentForPackage(this.getPackageName());
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}