【问题标题】:How do I set onClickListener of a CheckBox in a clean way?如何以干净的方式设置 CheckBox 的 onClickListener?
【发布时间】:2020-08-23 16:12:05
【问题描述】:

我正在尝试在 Android 中设置 CheckBox 的 onClickListener。
我希望侦听器根据复选框状态执行两种不同的方法。
有没有更简洁的方法来编写以下 Kotlin 代码?

private fun setExampleCbOnClickListener() {
    binding.exampleCb.setOnClickListener {
        when ((it as CheckBox).isChecked) {
            true -> methodOne()
            false -> methodTwo()
        }
    }
}

【问题讨论】:

    标签: android kotlin onclicklistener


    【解决方案1】:

    用干净的方式试试这个:

    checkBox.setOnCheckedChangeListener { buttonView, isChecked ->
       // TODO
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用 CheckChangeListener 代替 clickListener。 当复选框状态发生变化时会自动触发。

      binding.exampleCb.setOnCheckedChangeListener { _, isChecked ->
              when (isChecked) {
                  true -> methodOne()
                  false -> methodTwo()
              }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-22
        • 1970-01-01
        • 1970-01-01
        • 2013-08-08
        • 1970-01-01
        • 1970-01-01
        • 2011-09-14
        相关资源
        最近更新 更多