后退按钮和工具栏关闭按钮的功能不同

时间:2017-05-15 06:20:08

标签: android android-activity android-toolbar activity-transition

在我的Android应用程序中,我将相同活动的不同实例堆叠在一起(这是一项要求,我不能改变它)。

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

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

我无法使用Intent.FLAG_ACTIVITY_CLEAR_TOPIntent.FLAG_ACTIVITY_SINGLE_TOP等意图标记,因为后退按钮也会关闭活动的所有实例。

我需要onOptionsItemSelected上关闭活动并返回父活动的内容。如果可以,请提供任何提示。感谢

1 个答案:

答案 0 :(得分: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);
    }