如何创建带有选项卡的 Android 汽车应用程序,其中每个选项卡使用模板概念加载不同的屏幕

问题描述 投票:0回答:1

我正在使用 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()
}
android android-automotive
1个回答
0
投票

给定屏幕的 API 调用完成后,您需要再次调用

invalidate

© www.soinside.com 2019 - 2024. All rights reserved.