Я создал новый проект с навигационным ящиком в Java, и выбор элементов в меню ящика не переключает фрагменты
Я пытался реализовать
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.nav_gallery:
Navigation.findNavController(this,R.id.nav_host_fragment).navigate(R.id.nav_gallery);
break;
case R.id.nav_send:
Navigation.findNavController(this,R.id.nav_host_fragment).navigate(R.id.nav_send);
break;
}
return true;
}
Но это не такпереходя между фрагментами, меню ящика не выбирает ни один из фрагментов, это ошибка со стороны Java? ![enter image description here](https://i.stack.imgur.com/HbgUC.gif)
Как вы можете видеть на гифке, я открываю ящик и, куда бы я ни щелкнул, я не иду к фрагменту, который должен пойти, это новый проект, выполняющий
new - Упражнение - Навигация в Drawer Activity
Это на Java, и навигация не работает, я думаю, это ошибка
Я пытался без реализации onNavigationItemSelected
и тоже не работает
Это остальная часть класса
public class DisplayScreen extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
private AppBarConfiguration mAppBarConfiguration;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_screen);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
DrawerLayout drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow,
R.id.nav_tools, R.id.nav_share, R.id.nav_send)
.setDrawerLayout(drawer)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.display_screen, menu);
return true;
}
@Override
public boolean onSupportNavigateUp() {
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
return NavigationUI.navigateUp(navController, mAppBarConfiguration)
|| super.onSupportNavigateUp();
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.nav_gallery:
Navigation.findNavController(this,R.id.nav_host_fragment).navigate(R.id.nav_gallery);
break;
case R.id.nav_send:
Navigation.findNavController(this,R.id.nav_host_fragment).navigate(R.id.nav_send);
break;
}
return true;
}
}