我正在遵循official docs中的导航体系结构组件指南>
我想添加共享应用程序,为应用程序评分并在导航抽屉中注销项目,例如[this] [] 2
我能够将服务,我的帐户
菜单链接到它们的目标片段,但是问题是速率/共享/注销的事情,我们不需要任何特殊的片段/目的地,对吗?由于NavigationUI.setupWithNavController(navigationView, navController);
这行本身完成了所有抽屉项目单击事件,所以我不能做太多事情。仍然,我尝试过这种方式,但是没有用
navigationView.setNavigationItemSelectedListener(this); @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { if(menuItem.getItemId() == R.id.nav_share) { // Launch a share intent, but just for sake of simplicity show toast msg Toast.makeText(this, "Share", Toast.LENGTH_SHORT).show(); }else { NavigationUI.setupWithNavController(navigationView, navController); } return true; }
所以,我的问题是如何实现导航抽屉中不需要显式目标的这些类型的功能?
我正在遵循官方文档中的导航体系结构组件指南,我想添加共享应用程序,为应用程序评分并在导航抽屉中注销项目,例如[this] [] 2我能够链接服务,...
您的问题不太清楚。但是,如果不需要打开片段,只需在if条件中写入所需的逻辑即可。并关闭导航栏
if(menuItem.getItemId() == R.id.nav_share){
// do share intent
mDrawerLayout.closeDrawers(); // close nav bar
}
else if(menuItem.getItemId() == R.id.log_out){
// write logic for log out
mDrawerLayout.closeDrawers(); // close nav bar
}