栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

按下导航菜单项将不响应

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

按下导航菜单项将不响应

线

NavigationUI.setupWithNavController(navigationView, navController);

setNavigationItemSelectedListener
内部调用以将目标连接到菜单项(即,当您单击
R.id.nav_settings
MenuItem时,它将用已
android:id="@+id/nav_settings"
设置的菜单项替换NavHostFragment中的Fragment
)。该侦听器将覆盖
OnNavigationItemSelectedListener
您设置的视图,这就是为什么您的自定义逻辑不会运行的原因。

如果要将两组功能组合在一起,则需要在

navigationView.setNavigationItemSelectedListener(this);

之后
调用
setupWithNavController
并使用触发默认行为
NavigationUI.onNavDestinationSelected()


protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_driver_home);    Toolbar toolbar = findViewById(R.id.toolbar);    setSupportActionBar(toolbar);    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_history, R.id.nav_settings, R.id.nav_help, R.id.nav_signout) .setDrawerLayout(drawer) .build();    NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);    NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);    NavigationUI.setupWithNavController(navigationView, navController);    // This line needs to be after setupWithNavController()    navigationView.setNavigationItemSelectedListener(this);}@Overridepublic boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {    NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);    switch (menuItem.getItemId()){        case R.id.nav_history: Toast.makeText(this, "fsdfuxc", Toast.LENGTH_LONG).show(); break;        case R.id.nav_signout: signOut(); break;        default: // Trigger the default action of replacing the current // screen with the one matching the MenuItem's ID NavigationUI.onNavDestinationSelected(menuItem, navController);    }    DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout);    drawer.closeDrawer(GravityCompat.START);    return true;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410241.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号