Android 如何重新启动主活动

Android 如何重新启动主活动,android,android-activity,restart,Android,Android Activity,Restart,我需要在子活动返回时更新主活动的内容。我在onActivityResult()方法中尝试了以下代码,该方法对其他活动(非主活动)很好,但对主活动无效 if (resultCode == Activity.RESULT_OK){ finish(); startActivity(getIntent()); } 关于如何使主活动再次执行OnCreate()有什么想法吗 谢谢 在OnResume()方法上写入内容。当您返回到主活动时,它将始终执行。有关详细信息,请查看活动生命周期。问题

我需要在子活动返回时更新主活动的内容。我在
onActivityResult()方法中尝试了以下代码,该方法对其他活动(非主活动)很好,但对主活动无效

if (resultCode == Activity.RESULT_OK){
    finish();
    startActivity(getIntent());
}
关于如何使主活动再次执行OnCreate()有什么想法吗


谢谢

在OnResume()方法上写入内容。当您返回到主活动时,它将始终执行。有关详细信息,请查看活动生命周期。

问题似乎是,如果当前活动重新启动,则会忽略
setResult()
。请参见我的。

您的代码应该如下所示:

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

将以下代码放入
onBackPressed()
方法中:

public void onBackPressed(){
意向意向=新意向(MainActivity.this,MainActivity.class);
星触觉(意向);
}
其中
MainActivity.class
是我的启动程序活动。
现在活动将返回到每次启动的内容。

您只需调用onCreate(null)恢复其顺序:startActivity()然后finish(),您的代码是正确的!!很抱歉,您在resultCode==Activity.RESULT\u OK(确定)中无法访问,请将日志放入并查看。如果要调用ActivityResult()或onCreate(),则颠倒顺序是行不通的。我验证了它是否到达代码,但怀疑该活动是主活动,因此其行为不同。我不确定调用onCreate(null)是否正确,因为我在某个地方读到它可能会破坏其他东西。无论如何我都要试试。还有其他想法吗?将问题中显示的代码移动到onResume()是灾难性的,因为如果最后调用finish(),应用程序甚至无法启动,而如果首先调用finish(),则不会调用onCreate()。另外,我只想在子活动返回OK结果的情况下刷新活动,而不是在所有情况下。这并没有解决实际问题-他们并没有试图专门处理回压。