如何禁用Android Kotlin中的点按钮

我是新的Android Studio – Kotlin,我用数字和数学运算符与小数点(.dot按钮)构建一个应用程序在我的数学计算器应用程序,如果按下点按钮,该按钮应该禁用或不输入第二时间。 如果按下多次,我想禁用或停止打印点按钮(。)。

这是我的代码

Acitivity.kt文件

package com.tripbegins.calculator import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Button import com.tripbegins.calculator.R.id.* import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } var emptyText = true fun numberEvents(view: View) { var checkButton:Boolean = false if(emptyText){ viewResult.setText("") } emptyText = false var button = view as Button var isClicked = viewResult.text.toString() when (button.id) { buttonOne.id -> isClicked += "1" buttonTwo.id -> isClicked += "2" buttonThree.id -> isClicked += "3" dotButton.id-> isClicked+="." } viewResult.setText(isClicked) } var operation ="+" var oldValues:String? = null fun mathOperation(view: View){ var mathButton = view as Button var isClicked = viewResult.text.toString() when(mathButton.id){ plusButton.id-> { operation = "+" } minusButton.id->{ operation="-" } mulButton.id->{ operation="*" } } oldValues = viewResult.text.toString() emptyText = true } fun Calculate(view: View){ var newValues = viewResult.text.toString() var calulateButton:Double? = null when(operation){ "+"-> { calulateButton = oldValues!!.toDouble() + newValues.toDouble() } "-"-> { calulateButton = oldValues!!.toDouble() - newValues.toDouble() } "*"-> { calulateButton = oldValues!!.toDouble() * newValues.toDouble() } } viewResult.setText(calulateButton.toString()) emptyText=true } fun clearFunction(view: View){ viewResult.setText("") } } 

activity.xml文件

     

我期待的结果

有效输入 – > 3.(不要再次输入.dot按钮)

无效的条目 – > 3 …(目前我可以输入多个.dot按钮)

点按钮不应该按两次。 它应该只有一次活动。

谢谢穆罕默德

所以你想在用户第一次点击它时禁用名称为dotButton的按钮:

要禁用按钮,请使用:

 dotButton.isClickable=false 

如果你想让按钮变成可再次点击(就像用户删除了他已经按下的那个点),你可以使用:

 dotButton.isClickable=true 

编辑 :修改你的活动代码,如下所示:

 when (button.id) { buttonOne.id -> isClicked += "1" buttonTwo.id -> isClicked += "2" buttonThree.id -> isClicked += "3" dotButton.id-> { isClicked+="." dotButton.isClickable=false//**add this line here** } } fun clearFunction(view: View){ viewResult.setText("") dotButton.isClickable=true//**add this line here** }