AppCompat V7工具栏onOptionsItemSelected不叫 [英] AppCompat v7 Toolbar onOptionsItemSelected not called
问题描述
我从原来的动作条的AppCompat工具栏和setSupportActionBar(工具栏)更改。 当我使用getSupportActionBar()和setDisplayHomeAsUpEnabled(真)的后退箭头,点击永远不会调用onOptionsItemSelected或任何其他的侦听方法。
我一定要执行一些特殊的监听器呢? Befor一切工作就好了。
编辑: 初始化动作条:
mToolbar =(工具栏)findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
mActionBar = getSupportActionBar();
mActionBar.setHomeButtonEnabled(真正的);
和一个片段我这样做更换后的内容:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
mDrawerToggle.setDrawerIndicatorEnabled(假);
mActionBar.setDisplayHomeAsUpEnabled(真正的);
我不得不实施OnClickListener的DrawerToggle:
mDrawerToggle.setToolbarNavigationClickListener(新View.OnClickListener(){
@覆盖
公共无效的onClick(视图v){
popStackIfNeeded();
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
mActionBar.setDisplayHomeAsUpEnabled(假);
mDrawerToggle.setDrawerIndicatorEnabled(真正的);
}
});
这固定我的问题。
I changed from the original ActionBar to the AppCompat Toolbar and setSupportActionBar(toolbar). When I am using getSupportActionBar() and setDisplayHomeAsUpEnabled(true) for the back arrow, the click never calls onOptionsItemSelected or any other listener method.
Do I have to implement some special listener for it? Befor everything was working just fine.
EDIT: Initialise the ActionBar:
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
mActionBar = getSupportActionBar();
mActionBar.setHomeButtonEnabled(true);
and after replacing the content with a Fragment I do this:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
mDrawerToggle.setDrawerIndicatorEnabled(false);
mActionBar.setDisplayHomeAsUpEnabled(true);
I had to implement an OnClickListener for the DrawerToggle:
mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
popStackIfNeeded();
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
mActionBar.setDisplayHomeAsUpEnabled(false);
mDrawerToggle.setDrawerIndicatorEnabled(true);
}
});
this fixed my issue.
这篇关于AppCompat V7工具栏onOptionsItemSelected不叫的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!