【问题标题】:Go to previous activity after finish完成后转到上一个活动
【发布时间】:2020-04-29 21:06:34
【问题描述】:

我有两个屏幕,屏幕 A 和屏幕 B

我在A中打开屏幕B如下

Intent intent = new Intent(A.this , B.class);
startActivity(intent);

在活动 B 中,我有两种情况。

第一种情况用户将按下后退按钮。他将成功返回屏幕 A。

网络操作后的第二种情况我需要回到屏幕A所以我这样做

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

问题是堆栈中会有两个A的屏幕 所以首先它打开一个屏幕然后如果用户点击返回它也会显示屏幕A 在第三次尝试中,他会回到另一个屏幕,比如屏幕 C

【问题讨论】:

  • 请更好地解释您的问题,特别是以下几行:“问题是堆栈中会有两个 A 屏幕,因此首先打开 A 屏幕,然后如果用户单击返回,它也会显示在第三次尝试屏幕 A 时,他将返回另一个屏幕,例如屏幕 C"。你一开始就提到了两个屏幕(A 和 B),最后你提名了第三个,我的脑子没了。

标签: java android android-intent


【解决方案1】:

为什么需要创建另一个 Activity A 实例?在 Activity B 中调用 finish() 无论如何都会带你回到堆栈上的下一个 Activity,这将是 Activity A 的原始实例。 如果您需要在网络操作之后,将一些结果返回给 Activity A,那么您应该在启动 Activity B 时探索使用 Activity A 中的startActivityForResult() 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 2017-05-26
    相关资源
    最近更新 更多