如何在新的导航抽屉体系结构组件中实现共享应用或评级应用或注销功能

问题描述 投票:0回答:1

我正在遵循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我能够链接服务,...

java android navigation share drawer
1个回答
0
投票

您的问题不太清楚。但是,如果不需要打开片段,只需在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
 }
© www.soinside.com 2019 - 2024. All rights reserved.