Я пытаюсь сохранить выбор вкладки при перезапуске процесса, но не могу заставить вкладку выбрать вкладку при перезапуске приложения (хотя связанный виджет отображает текущую страницу для вкладки, которую следует выбрать).Например, если приложение будет убито с выбранной вкладкой 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?