【问题标题】:Android back button behaviour issue...Android后退按钮行为问题...
【发布时间】:2017-06-14 08:39:04
【问题描述】:

我一直在使用 finish() 进行后退按钮按下以返回上一个活动并且它工作正常,但在这种特定情况下它没有按预期工作。

以下是我的活动列表及其功能:

活动 A - 显示在线论坛主题

活动 B - 显示论坛主题的 cmets

活动 C - 发表新评论

用户发表新评论后,将被引导至活动 B。

问题:

当我点击活动 B 上的返回按钮时,它会返回到活动 C,因为这是我之前的活动。

活动 A -> 活动 B -> 活动 C -> 活动 B -> 活动 C -> 活动 B -> 活动 A

期待

我希望用户从活动 B 回到活动 A。

活动 A -> 活动 B -> 活动 C -> 活动 B -> 活动 A

我尝试使用 Intent 仅在后按时将 Activity B 定向到 A,但它正在重新加载我不想要的 Activity A 上的数据。

我尝试过的代码:

case android.R.id.home:
            finish();
            return true;
//this works if i am only going back and forth one activity

case android.R.id.home:
 Intent i = new Intent(ActivityB.this, ActivityA.class);
            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            i.putExtra("forumLink", forumLink);
            i.putExtra("forumTitle", forumTitle);
            startActivity(i);
//this refreshes Activity A data

【问题讨论】:

    标签: android android-intent android-activity onbackpressed


    【解决方案1】:

    在从 C 转到 B 之前,请在 Activity C 上致电 finish()

    您可以将Activity A设为B的父级,B设为C的父级

    【讨论】:

    • 非常感谢!!有用!!我会注意将 Activity A 作为 B 的父级等。
    【解决方案2】:

    你必须在去活动 B 之前杀死活动 C。 由于您的活动 c 退出,这就是它要进行活动 c 的原因。 因此,使用 finish() 来终止活动 c。杀死活动 c 会将您重定向到活动 b。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-21
      • 2012-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      • 2011-01-15
      相关资源
      最近更新 更多