如何清除导航中的所有后台堆栈

时间:2019-07-14 11:30:45

标签: android navigation

在我的应用中,我有3个主要部分,其底部带有导航栏,我想在用户单击任何底部导航栏选项后清除所有预览堆栈

例如,如果用户在A部分中,并且他在A中导航了3个目的地 (每个部分中都可以有目的地),然后他导航至B部分,应删除后退堆栈,如果他按了后退按钮,则应用程序应关闭。 我该怎么实现

我已经尝试过

app:launchSingleTop="true"
app:popUpToInclusive="true"

这是我在各部分之间导航的方式

bottomNavigationView.setOnNavigationItemSelectedListener
                (new BottomNavigationView.OnNavigationItemSelectedListener() {
                    @Override
                    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                        switch (item.getItemId()) {
                            case R.id.action_apps:
                                navController.navigate(R.id.fragment_apps);
                                break;
                            case R.id.action_company:
                                navController.navigate(R.id.fragment_company);
                                break;
                            case R.id.action_discussions:
                                navController.navigate(R.id.fragment_discussions);
                                break;
                        }
                        return true;
                    }
                });

0 个答案:

没有答案