【问题标题】:finishactivity not finishing the current activityfinishactivity 未完成当前活动
【发布时间】:2016-09-14 02:55:51
【问题描述】:

我有名为 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。

【问题讨论】:

  • 你为什么不只使用finish 来停止你的活动?如果您还使用1000 作为requestCode 开始了其他活动,那么这些活动也会被杀死。
  • 我不明白扩展 ACTIVITY A 是什么意思。您的意思是您的活动 A 中有 2 个片段吗?

标签: android android-intent android-activity


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    你可以使用:

    getActivity().setResult(350, null);
    getActivity().finish();
    

    【讨论】:

      【解决方案3】:

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

      你的活动.this.finish();

      【讨论】:

        猜你喜欢
        • 2012-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-06
        • 1970-01-01
        • 2011-06-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多