1

我有名为 ACITIVTYA、ACITIVTYB、ACITIVTYC 的活动。

ACITIVTYB 和 ACITIVTYC 扩展了 ACTIVITYA

在作为父活动的 ACITIVTYA 中,我想重新加载 ACTIVITYB。我使用了以下代码

finishActivity(1000);
Intent intent = new Intent(ACITIVTYB.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent,1000);

但是finishActivity(1000); 当屏幕中出现相同的 ACTIVITYB 时,不起作用。

它适用于不同的活动,即当 ACTIVITYC 在屏幕上时,我可以重新加载 ACTIVITYB。但是当 ACTIVITYB 在屏幕上时,我无法重新加载相同的 ACTIVITYB。

4

3 回答 3

10

finishActivity用于从当前活动中关闭另一个活动,有关更多信息,您可以查看官方文档:finishActivity 所以您必须使用finish()而不是finishActivity()当前活动Activity

于 2013-09-16T06:32:26.510 回答
2

您可以使用:

getActivity().setResult(350, null);
getActivity().finish();
于 2016-09-13T18:55:51.050 回答
0

如果你想完成你当前的活动,你必须在进入下一个你必须使用的屏幕之前从活动堆栈中删除它

你的活动.this.finish();

于 2013-09-16T07:03:37.873 回答