移除+替换片段后不调用onOptionsItemSelected

时间:2018-11-27 19:20:15

标签: android android-fragments android-activity

有一个similar question。但是还没有任何解决方案!

“后退”按钮在某些情况下不起作用。

MainActivity -> replace A -> add B -> remove B

fragmentA的返回按钮起作用!但是下面的步骤不起作用:

MainActivity -> replace A -> add B -> remove B + replace C -> replace A + add B -> remove B

A的后退按钮不起作用。另外,删除片段B后,将为片段A调用onCreateOptionsMenu。

This guide一起使用remove + remove。我希望删除+替换或替换+添加工作。

每个片段在OnCreateView回调中使用以下代码:

setHasOptionsMenu(true);
activity.setSupportActionBar(this.toolbar);

活动onOptionItemSelected回调:

@Override
    public boolean onOptionsItemSelected (MenuItem menuItem) {
        if(menuItem.getItemId() == android.R.id.home) {
            Log.e("TAG", "Selected home btn");
            // some code
            return true;
        }
        return false;
    }

1 个答案:

答案 0 :(得分:0)

我认为这没有帮助,但是请尝试以下操作:

@Override
public boolean onOptionsItemSelected (MenuItem menuItem) {
    if(menuItem.getItemId() == android.R.id.home) {
        Log.e("TAG", "Selected home btn");
        // some code
        return true;
    }
    return super.onOptionsItemSelected(item); //call super if menu item wasn't consumed
}