【发布时间】:2021-02-28 23:37:55
【问题描述】:
现在我的一些菜单项只打开片段,我如何让它们也打开活动。目前我正在使用 Navigation Graph 中的 NavController 打开片段
MainActivity.java
NavController navController = Navigation.findNavController(this, R.id.navHostFragment);
NavigationUI.setupWithNavController(navigationView, navController);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.menuLeave:
Toast.makeText(MainActivity.this, "adeus", Toast.LENGTH_SHORT).show();
break;
case R.id.menuAccount:
getSupportFragmentManager().beginTransaction()
.replace(R.id.navHostFragment, new ContaFragment())
.commit();
break;
case R.id.menuPrincipal:
getSupportFragmentManager().beginTransaction()
.replace(R.id.navHostFragment, new PrincipalFragment())
.commit();
break;
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawerLayout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
});
```
【问题讨论】:
-
用 Intent 打开 Activity 以防你想加载一个 Activity。
标签: java android navigation-drawer