关于Toolbar的Back返回问题

昨天在引入Toolbar的时候,出现了一个问题。就是按Toolbar上面的back按钮没有反应。实际上点击时间是发生的,因为产生了动画

同样另一个Activity,也是用了同样设置方法,确是可行的,我觉得很奇怪,看了看两者的区别,初始化的时候代码都一样

setSupportActionBar(mToolbar);
getSupportActionBar.setDisplayHomeAsUpEnabled(true);

找来找去,都觉得很奇怪,去SOF搜了下,这里有一个解答

其实一下子转眼一想,也就明白了为什么会这样。Toolbar上的按钮「无论是自定义的还是系统实现的」实际上都是需要在**onOptionItemSelected(MenuItem item)**中来处理选择后的逻辑。因此,这里需要将Toolbar中的back事件处理下。即

 @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == android.R.id.home)
        {
            finish();
        }
        return super.onOptionsItemSelected(item);
    }

搞定。