我想在转到新活动之前隐藏NavigationView
。此时,在我的应用导航抽屉中未正确隐藏但尚未启动新活动。所以我想要正确隐藏导航然后去进行新的活动。而且我没有使用带有活动的片段数。我正在使用导航抽屉的总活动。
答案 0 :(得分:0)
使用
mDrawerLayout.closeDrawers();
如果您要关闭抽屉,然后使用Activity
Handler
添加延迟
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//launch activity here
}
},TIME_IN_MILLI_SEC)
答案 1 :(得分:0)
您可以尝试在选择项目时关闭抽屉:
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;
}
});
然后你可以使用DrawerLayout.DrawerListener
。在onDrawerClosed
您可以开始您的活动
@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();
}
}
}