我目前正在尝试为我的论文编写一个应用程序,目前我正在研究不同的方法。因为我真的很喜欢 Flutter 并且论文要求我使用 Java/Kotlin,所以我想使用 Jetpack compose。
目前,我在尝试更新 ListElements 时陷入困境。
我想要一个显示实验及其状态/结果的列表。一旦我按下按钮,我希望实验运行,并在实验完成后更新其状态。目前,run 方法除了将状态设置为成功之外不执行任何操作。问题是,一旦实验更新其状态,我不知道如何从 ExperimentRow 的 viewModel 触发重组。
实验活动:
class ExperimentsActivity : AppCompatActivity() {
val exViewModel by viewModels<ExperimentViewModel>()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//For now this is just Dummy Data and will be replaced
exViewModel.experiments += listOf(
Experiment("Test1", exViewModel::experimentStateChanged),
Experiment("Strongbox", exViewModel::experimentStateChanged)
)
setContent {
TpmTheme {
// A surface container using the 'background' color from the theme
Surface {
ExperimentScreen(
exViewModel.experiments,
exViewModel::startTests
)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
实验视图模型:
class ExperimentViewModel : …Run Code Online (Sandbox Code Playgroud)