微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当按下导航栏后退按钮时,Android活动将返回启动它而不是父活动的活动

我有以下场景:

android清单中我有三个活动:
ActivityA
ActivityB – ActivityA的父级
ActivityC

我想要做的是使用intent.StartActivity()从ActivityC启动ActivityA.活动已成功启动.现在我想使用操作栏的后退按钮(左上角)返回ActivityC,但由于ActivityA将ActivityB作为父级(如在android清单中声明的​​),操作栏后退按钮将我带到ActivityB而不是之前的ActivityC.如果我使用后键盘按钮,我会被重定向到ActivityC.

我可以做些什么来在“导航回”情况下获得相同的结果.我正在寻找的结果是重定向到启动ActivityA的活动而不是它的父活动.可能吗?

解决方法

您不应将ActivityB定义为清单中ActivityA的父级.相反,在ActivityA中处理onoptionsItemSelected,如下所示:
public boolean onoptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            finish();
        }
    return super.onoptionsItemSelected(item);
    }

原文地址:https://www.jb51.cc/android/313876.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐