我正在使用 TabTemplate 实现选项卡,但在单击选项卡后刷新 UI 时遇到问题。在选项卡上单击新屏幕,其中每个屏幕都有 api 调用,一旦 api 成功,我需要刷新屏幕。我们如何才能实现这一目标?
创建选项卡的代码=>
val tabTemplate = TabTemplate.Builder(object : TabCallback {
override fun onTabSelected(tabContentId: String) {
activeContentId = tabContentId
invalidate() //call invalidate() to get the new template to display
}
})
.setHeaderAction(APP_ICON)
tabTemplate.addTab(getTab(firstTab))
tabTemplate.addTab(getTab(secondTab))
tabTemplate.setTabContents(getActiveTabContent())
invalidate()
return tabTemplate.setActiveTabContentId(activeContentId).build()
private fun getActiveTabContent(): TabContents {
return if (activeContentId == firstTab.tabId) {
TabContents.Builder(getFirstTabTemplate()).build()
} else {
TabContents.Builder(getSecondTabTemplate()).build()
}
}
private fun getFirstTabTemplate() : Template {
return FirstScreen(carContext).onGetTemplate()
}
给定屏幕的 API 调用完成后,您需要再次调用
invalidate
。