关于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);
}
搞定。