【问题标题】:How to make Action Bar back button act as System back button in Android如何使操作栏后退按钮充当Android中的系统后退按钮
【发布时间】:2014-02-26 00:16:48
【问题描述】:

我还没有看到这个问题的具体答案,所以如果你能找到重复项,请将其标记为重复项。

我想知道如何使操作栏按钮的后退按钮充当系统后退按钮。因此,当显示操作栏并且左上角有带有后退箭头的应用程序图标时,如何使它充当系统(有时是硬件)后退按钮? 这是我正在谈论的按钮的示例。

【问题讨论】:

    标签: android android-actionbar actionbarsherlock


    【解决方案1】:

    因此,为了做到这一点,您需要在您的活动 UI 设置中调用这些。

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);
    

    然后如果你不想要文本,比如那个例子,你需要调用

    getSupportActionBar().setDisplayShowTitleEnabled(false);
    

    然后在您的活动中,您需要创建一个看起来像这样的方法。

    public boolean onMenuItemSelected(int featureId, MenuItem item) {
            int theId = item.getItemId();
            if (theId == android.R.id.home) {
                callCleanupActivityMethod();
                finish();
            }
            return true;
        }
    

    这是一个回调监听器,当操作栏被放置在活动上时,它会立即被放置在活动上。然后,该函数获取被单击项目的 id,检查它是否是主页按钮,然后您需要清理任何需要停止的对象或进程,然后调用 finish() 来完成活动。最后返回true。

    在查看 cmets 时,您可能会看到成员建议只调用 onBackPressed,这可能适用于某些应用程序,但并非全部,因此调用完成。不过,我确实建议您先尝试一下。

    干杯

    【讨论】:

    • 这看起来很好,如何将您的示例更改为调用 onBackPressed() (这将满足原始问题的意图 - 而不是 finish() )。
    • 这是我最初尝试过的,但这可能会导致您的应用程序崩溃。它可能适用于某些应用程序,但不是全部。因此结束通话。
    • 很遗憾,这也不能回答问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 2021-11-12
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 2017-06-25
    相关资源
    最近更新 更多