首页 > 解决方案 > 当我只选择一个选项时如何使用按钮 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

// 这里我想我们应该做代码

                    }

   

标签: androidkotlinbutton

解决方案


您可以将按钮的可见性设置为GONE最初 in onCreate(),然后将其可见性更改为VISIBLEin 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)

推荐阅读