0

LazyColumn に非常に奇妙な問題があります。ViewModel で menuList State を更新しています。ビューは再構成されますが、リストは再描画されません。

デバッガーを使用すると、LazyColumn に達してから停止します。つまり、子は新しいデータで再描画されません。理由はありますか?ありがとう!

私の見解:

val menuList = viewModel.menuData.observeAsState()

LazyColumn() { // <- Debugger stops here
                items(menuList.value.sections.size) { i->
                    MenuItem(menuList.value[i])
                }
}

MyViewModel:

private var menu: MenuUiState? = null
 val menuData: MutableLiveData<MenuUiState> by lazy {
    MutableLiveData<MenuUiState>()
}

// ...
menu?.sections?.forEach {
    //update menu properties here
}
menuData.value = menu?.copy()
4

1 に答える 1