So I have a composable function which shows a trip count comparison between months. The difference is shown on a chart graph, which I got from a github repository.
I checked, and every time, the MonthComparison changes, the composable gets called, but unfortunately the chart is not updating itself with the new values.
This chart composable needs a simple List parameter. Does this mean, the first time it get’s a list, it shows that state, and won’t respond to list changes?
Comparison chart function
@Composable
fun showChartSection(monthComparison: MonthComparison?)
{
showSubTitles(text = stringResource(id = R.string.MonthlyCompare))
Column(modifier = Modifier
.fillMaxWidth()
.padding(0.dp, 10.dp, 0.dp, 0.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
showParagraphText(text = stringResource(id = R.string.MonthComparisonByTrip))
Box(modifier = Modifier
.width(180.dp)
.height(180.dp)
.padding(0.dp, 5.dp, 0.dp, 0.dp)
)
{
val donutChartData = remember {
mutableStateOf(
listOf(
DonutData(360f, secondarycolor)
)
)
}
if(monthComparison != null)
{
donutChartData.value = listOf(
DonutData(monthComparison.currentMonthTripCount.toFloat(), secondarycolor),
DonutData(monthComparison.pastMonthTripCount.toFloat(), primarycolor)
)
}
DonutChart(modifier = Modifier
.align(Alignment.Center),
data = donutChartData.value)
}
}
DonutChart’s parameters
@Composable
fun DonutChart(
modifier: Modifier = Modifier,
type: DonutChartType = DonutChartType.Normal,
data: List<DonutData>,
style: DonutChartStyle = DonutChartStyle(),
onSliceClick: ((DonutData)-> Unit)? = null
)
Recognized by Mobile Development Collective