繁体   English   中英

使后退按钮和操作栏恢复原状

[英]Making back button and action bar back the same

例如,我有2个名为Main和Photos的活动。 我从Main开始照片。 当照片活动打开时按下后退按钮,我的导航抽屉菜单仍然处于选中状态。 但是,如果我按下操作栏上的后退菜单,主活动将刷新,因此选择将消失。 我想在后退按钮上应用操作栏后退的事件。 我能怎么做?

最好让你的动作栏按钮实现androids后退按钮动作而不是反之亦然,但是,它可以做到。

// Newer, but Im not sure what API version it came in
@Override
public void onBackPressed() {
    //super.onBackPressed();
    mMyAbBackBtn.callOnClick();
}

// Older, still supported
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    if (KeyEvent.KEYCODE_BACK == keyCode) {
        mMyAbBackBtn.callOnClick();
        return true; //handled
    }
    return super.onKeyUp(keyCode, event);
}

“操作栏上的后退按钮”实际上称为“ 向上”按钮 只是为了澄清差异: 后退按钮返回上一个活动(这可以带您到另一个应用程序),而向上按钮将返回到当前应用程序中的上一个活动。

我很困惑你如何同时拥有一个Up按钮和一个导航抽屉 ,你会张贴一些截图吗?

假设您的“导航抽屉菜单”不是您正在谈论的Android的原生部分,我不建议覆盖您的后退按钮以获得您想要的行为。

而是考虑覆盖onActivityCreatedonResume

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(); // don't restore the state
    // alternatively:
    // super.onActivityCreated(savedInstanceState); // you may have other things you
                                                    // want to preserve
    // unSelect(); // your code to unselect whatever your navigation menu drawer is
}

@Override
public void onResume()
{
    super.onResume();
    unSelect(); // your code to unselect whatever your navigation menu drawer is
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM