在我的项目中,我有两个片段。
一个是 a normal fragment,另一个是 a bottomSheetDialogFragment。
在我的中normal fragment,我有一个lazyColumn。
我想在 BottomSheetDialogFragment 中进行一些设置并创建一个新Hiit对象并将其放入hiitItems我的viewmodel.
问题是,由于我的部分被 覆盖normal fragment,当我的列表更改时,jetpack compose 将不会重新组合。bottomSheetDialogFragment
所以我决定转向考虑stateFlow到它总是在触发,并且我认为这可能会导致重组。但不幸的是,事实并非如此。
下面是我的代码:
// in my viewmodel
// using stateflow to hold the list of hiitItems
private var _hiitItems = MutableStateFlow(mutableListOf(HiitItem()))
val hiitItems = _hiitItems
Run Code Online (Sandbox Code Playgroud)
在我的中normal fragment,我使用 composeView 来利用jetpack compose:
setContent {
// get hiitItems
val hiitItems by vm.hiitItems.collectAsState()
...
// lazyColumn
LazyColumn(modifier …Run Code Online (Sandbox Code Playgroud)