0

在我的 android 应用程序中,我将同一活动的不同实例堆叠在一起(这是一项要求,我无法更改)。

我的活动工具栏上还有一个关闭按钮,当前的功能是如果用户单击关闭按钮,它将关闭活动的当前实例。后退按钮也具有相同的功能。

但我想改变这种行为。后退按钮的工作方式应该与现在相同(完成当前实例),但关闭按钮应该完成该活动的所有实例并返回到开始转换的父活动。

我不能使用类似Intent.FLAG_ACTIVITY_CLEAR_TOP或这样的意图标志,Intent.FLAG_ACTIVITY_SINGLE_TOP因为这样后退按钮也会关闭活动的所有实例。

我需要一些onOptionsItemSelected关闭活动并返回父活动的东西。如果可以,请提供任何提示。谢谢

4

1 回答 1

0

您可以对两次点击使用不同的操作

 @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
            case android.R.id.home:
                onBackPressed();
                break;
            case YOUR_ID_IN_MENU:
                onCloseClick();
                break;
        }

        return super.onOptionsItemSelected(item);
    }
于 2017-05-15T06:39:10.787 回答