我用XML构建了一个包含四个复选框和一个进度条的用户界面。我想用Kotlin使进度条中的进度在每一个复选框中增加25%(如果按钮没有被选中,该进度应该消失)。我没有找到具体的教程,有谁知道我如何做到这一点吗?
1
个回答
Tenfour04
发布于
2022-11-29
已采纳
0
人赞同
基本策略是创建一个复选框监听器,根据所有复选框的当前状态更新进度条。然后将这个监听器添加到所有四个复选框中。假设使用了视图绑定的例子。
// in Activity.onCreate or in Fragment.onViewCreated:
val checkBoxes = with(binding) { listOf(checkBoxA, checkBoxB, checkBoxC, checkBoxD) }
val listener = OnCheckedChangeListener { _, _, ->
val numberChecked = checkBoxes.count { it.isChecked }
binding.progressBar.setProgress(100 * numberChecked / checkBoxes.size, true)