相关文章推荐
睿智的红豆  ·  Vulkan,metal和DX12的Devi ...·  2 年前    · 
活泼的香槟  ·  Django postgres ...·  2 年前    · 

Android Studio如何使用Kotlin操作带有复选框的水平进度条

0 人关注

我用XML构建了一个包含四个复选框和一个进度条的用户界面。我想用Kotlin使进度条中的进度在每一个复选框中增加25%(如果按钮没有被选中,该进度应该消失)。我没有找到具体的教程,有谁知道我如何做到这一点吗?

android
kotlin
checkbox
progress-bar
new_guy91
new_guy91
发布于 2022-11-29
1 个回答
Tenfour04
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)