Android 后退按钮行为问题...

Android back button behaviour issue...

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

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

Activity A - 显示在线论坛主题

Activity B - 显示论坛主题的评论

Activity C - Post 一条新评论

用户post发表新评论后,他将被引导至activity B.

问题:

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

Activity A -> Activity B -> Activity C -> Activity B -> Activity C -> Activity B -> Activity A

预期

我无论如何都希望用户从 activity B 回到 activity A。

Activity A -> Activity B -> Activity C -> Activity B -> Activity A

我尝试使用意图仅在按下后将 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

在从 CB.

之前,在 Activity C 上调用 finish()

您可以将 Activity A 作为 B 的父级,并将 B 作为 C[ 的父级=22=]

你必须杀掉Activity C才能去activity B。 由于您的 activity c 退出,这就是为什么它会进入 activity c。 所以,使用 finish() 来杀死 activity c。杀死 activity c 会将您重定向到 activity b.