Скажем, я строю пользовательскую компоновку и заполняю этот список, как показано ниже < /p>
val list = remember { dataList.toMutableStateList()}
MyCustomLayout{
list.forEach { item ->
key(item){
listItemCompose( data = item,
onChange = { index1,index2 -> Collections.swap(list, index1,index2)})
}
}
< /code>
Этот код работает нормально, и экран перекладывается, когда вызывается функция inchange rambda, но когда речь идет о каком -либо небольшом изменении свойства любого предмета, он не перекомплектован, чтобы уточнить это, чтобы позволить Измените вышеупомянутые функции Lambda, чтобы выполнить следующие < /p>
{index1,index2 -> list[index1].propertyName = true}
< /code>
Имея это свойство с изменением Lambda List List не запустит экран для реконструкции. Я не знаю, является ли это ошибкой в JetPack Compose, или я просто следую не неправильному подходу, чтобы решить эту проблему, и я хотел бы знать правильный способ сделать это от команды разработчиков Android. Это то, что заставляет меня спросить, есть ли способ принудительного пересмотра всего экрана.
Подробнее здесь: https://stackoverflow.com/questions/669 ... -recompose