android - 当我只选择一个选项时如何使用按钮 kotlin
问题描述
在这里我有四个选项,我想在玩家在选择一个选项之前单击它时禁用提交,这意味着我只想在玩家选择一个选项时启用提交 这是我的代码,它是一个测验应用程序
setQuestion()
tv_option_one.setOnClickListener(this)
tv_option_two.setOnClickListener(this)
tv_option_three.setOnClickListener(this)
tv_option_four.setOnClickListener(this)
btn_submit.setOnClickListener(this)
}
override fun onClick(v: View?) {
when (v?.id) {
R.id.tv_option_one -> {
selectedOptionView(tv_option_one, 1)
}
R.id.tv_option_two -> {
selectedOptionView(tv_option_two, 2)
}
R.id.tv_option_three -> {
selectedOptionView(tv_option_three, 3)
}
R.id.tv_option_four -> {
selectedOptionView(tv_option_four, 4)
}
R.id.btn_submit -> {
if (mSelectedOptionPosition == 0) {
mCurrentPosition++
when {
mCurrentPosition <= mQuestionsList!!.size -> {
setQuestion()
tv_option_one.isClickable = true
tv_option_two.isClickable = true
tv_option_three.isClickable = true
tv_option_four.isClickable = true
// 这里我想我们应该做代码
}
解决方案
您可以将按钮的可见性设置为GONE
最初 in onCreate()
,然后将其可见性更改为VISIBLE
in each OnClickListener
,或者您可以将按钮setEnabled(false)
最初设置为 in onCreate()
,然后将其设置为setEnabled(true)
in each OnClickListener
。
例如,
myButton.setVisibility(View.GONE)
R.id.tv_option_one -> myButton.setVisibility(View.VISIBLE)
或者
myButton.setEnabled(false)
R.id.tv_option_one -> myButton.setEnabled(true)