小编Pat*_*idt的帖子

Jetpack 撰写更新列表元素

我目前正在尝试为我的论文编写一个应用程序,目前我正在研究不同的方法。因为我真的很喜欢 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)

android android-jetpack-compose

5
推荐指数
1
解决办法
6750
查看次数

标签 统计

android ×1

android-jetpack-compose ×1