第 15 课2026.09.21
点击按钮时更新已有 StateFlow 的单一事实源。
第 15 课:按钮调用ViewModel切换状态
- 日期:2026-09-21
- 课程序号:第 15 课
- 知识点:按钮调用ViewModel切换状态
用途或适用场景
点击按钮时更新已有 StateFlow 的单一事实源。
核心概念
监听器只调用 ViewModel.toggle();上一课的收集器负责更新文字。
最小代码或操作示例
text
binding.toggleButton.setOnClickListener { viewModel.toggle() }3~5 分钟练习
连续点击两次,观察文字。
参考答案
running 依次切换,文字由 StateFlow 收集结果更新。
与上一课的联系
沿用第 14 课收集 viewModel.running 并更新 toggleButton 文字的代码;本课只新增点击时调用 viewModel.toggle();完成练习后下一课可让 ViewModel 原子地更新同一状态流。
时效校验
时效校验:2026-09-24(Android 17 / SDK API 37 的 Views Button 文档与 AndroidX Lifecycle 当前文档;View.setOnClickListener 自 API 1 可用,相邻课使用的 repeatOnLifecycle 需 2.4.0+;未见废弃标记)。