点击任何项目后关闭导航抽屉
答
使用closeDrawer()
方法关闭抽屉,并启动抽屉监听器上的其他活动。
例如。
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
//Start your activity
}
答
您可以使用drawerLayout.closeDrawers();
关闭NavigationDrawer
你去到另一个活动
答
我想你错过closeDrawer()
上的导航项目的点击启动其他前只需要调用此方法之前Intent
drawerLayout.closeDrawer(GravityCompat.END);
答
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();
// Create a new fragment and specify the fragment to show based on nav item clicked
Fragment fragment = null;
Class fragmentClass = null;
if (id == R.id.nav_item1) {
fragmentClass = home.class;
// Handle the camera action
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
if(fragmentClass.newInstance() instanceof Fragment) {
fragment = (Fragment) fragmentClass.newInstance();
if (fragmentClass.getSimpleName().equals("home")) {
// Insert the fragment by replacing any existing fragment
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.home_layout, fragment).commit();
// Highlight the selected item has been done by NavigationView
item.setChecked(true);
// Set action bar title
setTitle(item.getTitle());
// Close the navigation drawer
drawer.closeDrawers();
}
}
在呼叫意图之前关闭抽屉。如需更多帮助,请发布您的代码。 –
我已发布解决方案尝试一下。如果仍然没有解决,那么在这里发布您的代码 –
[如何关闭导航抽屉时,从它按下一个项目?]的可能重复(http://stackoverflow.com/questions/19194526/how-to-close-navigation-drawer -when-an-item-is-press-from-it) –