Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我的textInputLayout为空时如何设置错误_Java_Kotlin_Textinput_Android Textinputlayout - Fatal编程技术网

Java 当我的textInputLayout为空时如何设置错误

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

我正在对textInputLayout执行小数加法,问题是在调用isEmpty以显示字段为空时的错误时,此选项不会出现

我想这样做

 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 = ""
 }