首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导航组件- BottomNavigationView -返回时不保留startDestination片段

问导航组件- BottomNavigationView -返回时不保留startDestination片段
EN

Stack Overflow用户
提问于 2020-08-31 01:32:01
回答 1查看 138关注 0票数 0

我正在使用导航组件和BottomNavigationView设置UI。

3个选项卡:主页、新闻、帐户。

当我从主页导航到新闻(目前,后台堆栈有HomeFragment)并按下后退按钮时,片段新闻将被销毁,后台堆栈中的HomeFragment也将被销毁并创建新的HomeFragment。我期望后台堆栈中的HomeFragment再次显示不销毁并创建新的。

我使用以下代码:

代码语言:javascript
复制
bottomNavigation.setupWithNavController(navHostFragment.findNavController())

如何解决此问题?

谢谢。

更新问题:

当我单击菜单项时,片段将是创建新实例。我不想这样,我想导航到新的片段,如果它还没有被点击,如果我再次点击菜单项,该片段将再次显示(没有创建新的)。

EN

回答 1

Stack Overflow用户

发布于 2021-04-18 20:28:12

关于你的最新问题。如果您不希望在重新选择时重新创建片段,只需在BottomNavigationView上设置OnNavigationItemReselectedListener

代码语言:javascript
复制
    bottomNavigation.setOnNavigationItemReselectedListener { item ->
        when (item.itemId) {
            R.id.frag1-> {
                // do something on reselection or leave empty
            }
            R.id.frag2-> {
                // do something on reselection or leave empty
            }
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63660239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档