使单选按钮以编程方式在片段内响应 onClick 事件的最佳实践 (kotlin)

The best practice to make radio buttons respond to onClick events pragramatically within fragment (kotlin)

我正在寻找使单选按钮在片段 (kotlin) 中实用地响应 onClick 事件的最佳实践。

我想到了这个解决方案,但我认为这不是最好的解决方案。这是一个小片段:

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    fun onRadioButtonClicked(view: View) {
        if (view is RadioButton) {
            val checked = view.isChecked

            when (view.getId()) {
                R.id.option1 ->
                    if(checked) {
                        do something
                    }
                R.id.option2 ->
                    if(checked) {
                        do something
                    }
                R.id.option3 ->
                    if(checked) {
                        do something
                    }
                R.id.option4 ->
                    if(checked) {
                        do something
                    }
                R.id.option5 ->
                    if(checked) {
                        do something
                    }
            }
        }
    }

itemOptions = arrayOf(
        binding.option1,
        binding.option2,
        binding.option3,
        binding.option4,
        binding.option5
    )

itemOptions.forEach { x ->
        x.setOnClickListener{onRadioButtonClicked(x)}
    }

谁能提出更好的选择?

单选按钮有一个单选组,您需要在其上实现 setOnCheckedChangeListener

radioGroup.setOnCheckedChangeListener{ radioGroup: RadioGroup, checkedId: Int ->
    when(checkedId) -> {
       R.id.option1 -> //do something
       R.id.option2 -> //do something
       R.id.option3 -> //do something
       R.id.option4 -> //do something
   }
}