Java 当我的textInputLayout为空时如何设置错误
我正在对textInputLayout执行小数加法,问题是在调用isEmpty以显示字段为空时的错误时,此选项不会出现 我想这样做Java 当我的textInputLayout为空时如何设置错误,java,kotlin,textinput,android-textinputlayout,Java,Kotlin,Textinput,Android Textinputlayout,我正在对textInputLayout执行小数加法,问题是在调用isEmpty以显示字段为空时的错误时,此选项不会出现 我想这样做 button.setOnClickListener { val numberOne = textInputLayout.editText?.text.toString().toDouble() val numberTwo = textInputLayout2.editText?.text.toString().t
button.setOnClickListener {
val numberOne = textInputLayout.editText?.text.toString().toDouble()
val numberTwo = textInputLayout2.editText?.text.toString().toDouble()
val reult = numberOne + numberTwo
if (numberOne./*no appears isEmpty*/){
textInputLayout.error = ("enter number")
}else
if (numberTwo./*no appears isEmpty*/){
textInputLayout2.error = ("enter number")
}else {
textView.text = reult.toString()
}
}
xmlns
数字一和数字二是双的 val numberOne=textInputLayout.editText?.text.toString.toDouble isEmpty是一个字符串函数
请尝试numberOne.toString.isEmpty,并且numberTwo也是相同的numberOne和numberTwo是双精度的 val numberOne=textInputLayout.editText?.text.toString.toDouble isEmpty是一个字符串函数
请尝试numberOne.toString.isEmpty,同样适用于numberTwo您可以使用以下内容:
<com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:inputType="numberDecimal"
.../>
您可以使用以下内容:
<com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:inputType="numberDecimal"
.../>
好的,然后您可以尝试将num1、num2声明为字符串,并将结果转换为双精度值,如val numberOne=textInputLayout.editText?.text.toString val numberTwo=textInputLayout2.editText?.toString val reult=numberOne.toDouble+numberTwo.toDouble;好的,然后您可以尝试将num1、num2声明为字符串,并将结果转换为双精度值,如val numberOne=textInputLayout.editText?.text.toString val numberTwo=textInputLayout2.editText?.toString val reult=numberOne.toDouble+numberTwo.toDouble;准备好反映错误,但我不知道如何添加数字并显示结果只需在//Number is double中移动您的逻辑我这样做了:val double:double?=number1.editText?.text.toString.toDoubleOrNull double?.let{//Number is double….}?:number1.setErrorEnter Number val double 2:double?=number1.editText?.text.toString.toDoubleOrNull double2?.let{//Number is double….}?:number2.setErrorEnter Number我这样做是为了使错误出现在两个字段中,对不起,我是一个beginner@JorgeLeonardo以更简单的方式重写答案准备好反映错误,但我不知道如何添加数字并显示结果只需在//Number is double中移动您的逻辑我这样做了:val double:double?=number1.editText?.text.toString.toDoubleOrNull double?.let{//Number is double….}?:number1.setErrorEnter Number val double 2:double?=number1.editText?.text.toString.toDoubleOrNull double2?.let{//Number is double….}?:number2.setErrorEnter Number我这样做是为了在两个字段中都出现错误,对不起,我是beginner@JorgeLeonardo以更简单的方式改写了答案
val double: Double? = textInputLayout.editText?.text.toString().toDoubleOrNull()
val double2: Double? = textInputLayout2.editText?.text.toString().toDoubleOrNull()
if (double != null){
//Double1 is a number
textInputLayout.error = ""
if (double2 != null){
//Double2 is a number
textInputLayout2.error = ""
textview.text = (double+double2).toString()
} else {
//Double2 is not a number
textInputLayout2.error = "Error"
textview.text = ""
}
} else {
//Double1 is not a number
textInputLayout.error = "Error"
textview.text = ""
}