Android 如何在进入新活动类之前正确关闭导航
在转到新活动之前,我想隐藏Android 如何在进入新活动类之前正确关闭导航,android,navigation-drawer,android-navigationview,Android,Navigation Drawer,Android Navigationview,在转到新活动之前,我想隐藏NavigationView。此时,在我的应用程序中,导航抽屉未正确隐藏,尚未开始新活动。所以我想正确地隐藏导航,然后转到新的活动。我没有在活动中使用片段数。我正在使用带有导航抽屉的总活动 mDrawerLayout.closeDrawers(); 如果要关闭抽屉,然后启动另一个活动请使用处理程序添加延迟 new Handler().postDelayed(new Runnable() { @Override publ
NavigationView
。此时,在我的应用程序中,导航抽屉未正确隐藏,尚未开始新活动。所以我想正确地隐藏导航,然后转到新的活动。我没有在活动中使用片段数。我正在使用带有导航抽屉的总活动
mDrawerLayout.closeDrawers();
如果要关闭抽屉,然后启动另一个活动
请使用处理程序添加延迟
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//launch activity here
}
},TIME_IN_MILLI_SEC)
选择项目后,您可以尝试关闭抽屉:
navigationView.setNavigationItemSelectedListener(
new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
menuItem.setChecked(true);
//saving the id of the item selected
itemSelected = menuItem.getItemId();
mDrawerLayout.closeDrawers();
return true;
}
});
然后可以使用抽屉布局.DrawerListener
。在DrawerClosed上,您可以开始您的活动
@Override
public void onDrawerClosed(View drawerView) {
if (itemSelected >= 0) {
Class activityClass = null;
switch (itemSelected) {
case R.id.itemId:
activityClass = MyActivity.class;
break;
//same for any other item
}
if (activityClass != null) {
Intent intent = new Intent(this, activityClass);
startActivity(intent);
finish();
}
}
}