Android:TabLayout未设置所选标签

时间:2019-06-15 20:14:22

标签: android kotlin android-tablayout

我试图在重新启动过程中保持对选项卡的选择,但是当应用程序重新启动时,我无法使选项卡布局选择选项卡(尽管关联的viewpager显示了应该选择的选项卡的当前页面) )。例如,如果应用程序在选择选项卡2的情况下被杀死,则在重新启动时它将显示选项卡0,但视图

这是我用来创建标签的代码:

fun setupTabs(){
    val allCatalogs = _viewModel.allCatalogs.value!!)
    tabs.removeAllTabs()

    val selectedCatalogId = _viewModel.selectedCatalogId
    var selectedTab: TabLayout.Tab? = null
    for (catalog in allCatalogs){
        val tab = tabs.newTab()
        tab.text = catalog.catalogName
        tab.tag = catalog
        val selected = catalog.catalogId == _viewModel.selectedCatalogId
        tabs.addTab(tab, selected)
        if(selected){
            selectedTab = tab
        }
    }
    mSectionsPagerAdapter?.setTotalNumberPages()
}

我想念什么吗?

谢谢

更新:我通过更改代码使其工作,以便在很小的间隔后进行选择:

if(selectedTab != null) {
        Handler().postDelayed({selectedTab.select()},
                              50)
}

这是否意味着在将TabLayout与ViewPager一起使用时,您无法在构造过程中更改选定的默认选项卡?

0 个答案:

没有答案