Итак, у меня есть составная функция, которая показывает сравнение количества поездок по месяцам. Разница показана на графике диаграммы, который я получил из репозитория GitHub.
Я проверил, и каждый раз, когда изменяется MonthComparison, компонуемый объект вызывается, но, к сожалению, диаграмма не обновляется новыми значениями.
Для этой составной диаграммы требуется простой параметр List. Означает ли это, что при первом получении списка он показывает это состояние и не реагирует на изменения списка?
Функция сравнительной диаграммы
@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
@Composable
fun DonutChart(
modifier: Modifier = Modifier,
type: DonutChartType = DonutChartType.Normal,
data: List,
style: DonutChartStyle = DonutChartStyle(),
onSliceClick: ((DonutData)-> Unit)? = null
)
Подробнее здесь: https://stackoverflow.com/questions/784 ... pose-chart