如何解决当我的textInputLayout为空时如何放置错误
我正在使用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
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:hint="@string/numero"
app:layout_constraintEnd_toEndOf="parent"
app:errorEnabled="true"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputLayout2"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="120dp"
android:hint="@string/numero2"
app:errorEnabled="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.google.android.material.textfield.TextInputLayout>
解决方法
您可以使用类似的内容:
<com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:inputType="numberDecimal"
.../>
您可以使用以下方法检查值:
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 = ""
}
,
numberOne和numberTwo是double
val numberOne = textInputLayout.editText?.text.toString()。 toDouble()
isEmpty()是一个字符串函数 尝试numberOne.toString()。isEmpty()和numberTwo相同
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。