Я создал активность в навигационном ящике с android студийным шаблоном (Navigation Drawer Activity). Теперь в androidx & android studio 3.5.3
они изменили реализацию активности навигатора. в классе java реализация выглядит так:
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);
И onCreateOptionsMenu
принимают ContextMenu
, View
и ContextMenu.ContextMenuInfo
вместо Menu
@Override
public void onCreateOptionsMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.nav_drawer_main, menu);
}
Но нет onOptionsItemSelected
или onContextItemSelected
метода. Итак, мой вопрос: если я хочу настроить событие щелчка элемента ящика, как я могу это сделать? предположим, что я хочу передать intentExtra фрагменту или мне нужно проверить значение переменной при конкретном c щелчке элемента.
Заранее спасибо.