Android 安卓:上按钮';我的抽屉菜单截取了s的点击
当我单击向上按钮(actionBar的左箭头)时,它会打开我的抽屉菜单,OnOptions ItemSelected方法不会收到任何内容 如何防止抽屉菜单截获向上按钮的点击 AndroidManifest.xml:Android 安卓:上按钮';我的抽屉菜单截取了s的点击,android,navigation-drawer,up-button,Android,Navigation Drawer,Up Button,当我单击向上按钮(actionBar的左箭头)时,它会打开我的抽屉菜单,OnOptions ItemSelected方法不会收到任何内容 如何防止抽屉菜单截获向上按钮的点击 AndroidManifest.xml: <activity android:name=".ChildActivity" android:theme="@style/AppTheme.NoActionBar" android:parentActivityName=".ParentActivity
<activity
android:name=".ChildActivity"
android:theme="@style/AppTheme.NoActionBar"
android:parentActivityName=".ParentActivity">
// Toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
this.setSupportActionBar(toolbar);
ActionBar actionBar = this.getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
// Drawer Menu
DrawerLayout drawer = (DrawerLayout) this.findViewById(R.id.main_drawer);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.drawer_open, R.string.drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) this.findViewById(R.id.main_navigation);
navigationView.setNavigationItemSelectedListener(this);
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
// This code is never executed
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
子活动-选择选项项:
<activity
android:name=".ChildActivity"
android:theme="@style/AppTheme.NoActionBar"
android:parentActivityName=".ParentActivity">
// Toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
this.setSupportActionBar(toolbar);
ActionBar actionBar = this.getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
// Drawer Menu
DrawerLayout drawer = (DrawerLayout) this.findViewById(R.id.main_drawer);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.drawer_open, R.string.drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) this.findViewById(R.id.main_navigation);
navigationView.setNavigationItemSelectedListener(this);
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
// This code is never executed
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
Ps:抽屉或向上按钮分别工作正常。
我可以在ChildActivity中禁用/隐藏抽屉,然后将其带回来,但我认为这不是正确的做法。如果您不打算将ActionBarDrawerToggle集与NavigationDrawer结合使用,为什么要将其设置为ActionBarDrawerToggle?我将抽屉与NavigationDrawer结合使用,以便在应用程序导航中向下移动。它很好用。但我想用一个向上的按钮回到主要活动。