Android问题与NavigationDrawer一起使用NavigationView

时间:2018-12-10 07:45:57

标签: android navigation android-jetpack

我正在将NavigationView与DrawerLayout一起使用。

我的代码:

NavHeaderMainBinding navHeaderMainBinding = DataBindingUtil.inflate(getLayoutInflater(),
            R.layout.nav_header_main, mActivityMainBinding.navigationView, false);
    mActivityMainBinding.navigationView.addHeaderView(navHeaderMainBinding.getRoot());
    navHeaderMainBinding.setViewModel(mMainViewModel);
    addNavigationItem();
    NavigationUI.setupWithNavController(mActivityMainBinding.navigationView, navController);
mNavigationView.setNavigationItemSelectedListener(
        item -> {
            mDrawer.closeDrawer(GravityCompat.START);

            switch (item.getItemId()) {
                case 0:
                    // setFragment(AboutFragment.newInstance(), AboutFragment.TAG);
                    navController.navigate(R.id.nav_home);

                    return true;
                case 1:
                    navController.navigate(R.id.nav_paging);

                    //       RateUsDialog.newInstance().show(getSupportFragmentManager());
                    return true;
                case 2:
                    // startActivity(FeedActivity.newIntent(MainActivity.this));
                    return true;
                case 3:
                    mMainViewModel.logout();
                    return true;
                default:
                    return false;
            }
        });

现在的问题是,当我从导航抽屉中多次单击第二个项目时,它会创建许多对象并在后按中创建一个问题。当我按回它关闭第二个片段的所有对象,然后返回到第一个片段。 我想创建所有片段的唯一单个实例,这些实例在单击导航抽屉项目时打开。 我该如何实现?

0 个答案:

没有答案