Ttop
09/10/2020, 2:39 PMclass TabContent(val header: String, val icon: Int, val content: @Composable () -> Unit)
@Composable
fun BodyContent() {
var index = 0
val updateTab : (currentIndex: Int) -> Unit = { index = it }
val tabs = listOf(
TabContent(
header = stringResource(id = R.string.depenses_tab_title).toUpperCase(
Locale.getDefault()
),
icon = R.drawable.ic_depenses
) { DepenseTabContent(Modifier) },
TabContent(
header = stringResource(id = R.string.equilibre_tab_title).toUpperCase(
Locale.getDefault()
),
icon = R.drawable.ic_equilibres
) { Text ( text= "blop") }
)
BodyContent(index, updateTab, tabs)
}
@Composable
fun BodyContent(
selectedTabIndex: Int,
updateTab: (Int) -> Unit,
tabs: List<TabContent>,
modifier: Modifier = Modifier
) {
Column(modifier.fillMaxSize()) {
TabRow(selectedTabIndex = selectedTabIndex) {
tabs.forEachIndexed { index, tabContent ->
Tab(
selected = selectedTabIndex == index,
onClick = { updateTab(index) },
text = { Text(text = tabContent.header) },
icon = {
Icon(
vectorResource(id = tabContent.icon),
Modifier.width(24.dp).height(24.dp)
)
}
)
}
}
Box {
tabs[selectedTabIndex].content
}
}
}
My tab content is never displayed and I can’t refresh it by clicking in the tabRow. I don’t understand what I’v done wrong.Timo Drick
09/10/2020, 3:03 PMvar index = remember { mutableStateOf(0) }
var index by remember { mutableStateOf(0) }
Ttop
09/10/2020, 3:11 PMTimo Drick
09/10/2020, 4:21 PMTtop
09/10/2020, 4:32 PMTimo Drick
09/10/2020, 4:44 PMtabs[selectedTabIndex].content()
Ttop
09/10/2020, 4:48 PMTimo Drick
09/10/2020, 5:10 PMvar index by remember { mutableStateOf(0) }
Mahdi
10/17/2020, 12:29 AMtabs[selectedTabIndex].content
Do you have this issue?