如何实现未选中单选按钮则无法跳转至其他Activity的逻辑?
问题分析与解决
你的代码逻辑判断存在两处错误:
- 逻辑运算符使用错误:要用
&&而非||来判断「三个单选按钮都未选中」的情况 - 条件逻辑写反:你需要在未选中任何选项时弹出提示,而非当前的错误条件
修正方案1:修正原判断逻辑
直接调整条件的逻辑运算符和判断逻辑:
button.setOnClickListener { if (!radioButton1.isChecked && !radioButton2.isChecked && !radioButton3.isChecked) { Toast.makeText(this, "请选择一个选项", Toast.LENGTH_SHORT).show() } else { val intent = Intent(this, Activity2::class.java) startActivity(intent) } }
修正方案2:利用RadioGroup的特性(更简洁)
因为单选按钮已经放在RadioGroup中,直接通过RadioGroup的checkedRadioButtonId属性判断即可(返回-1表示未选中任何选项):
// 先获取RadioGroup实例,替换成你xml中对应的id val radioGroup = findViewById<RadioGroup>(R.id.radioGroup) button.setOnClickListener { if (radioGroup.checkedRadioButtonId == -1) { Toast.makeText(this, "请选择一个选项", Toast.LENGTH_SHORT).show() } else { val intent = Intent(this, Activity2::class.java) startActivity(intent) } }
内容的提问来源于stack exchange,提问作者paloma agustín
相关产品推荐
相关产品推荐

