У меня при нажатии на кнопку появляется диалоговое окно, запрашивающее у пользователя информацию о регистрации.Я хочу проверить информацию, если электронное письмо является электронным письмом, если пароль совпадает с паролем подтверждения и т. Д. Я хочу использовать предоставленную ниже библиотеку.Если есть лучшая библиотека или метод, можете ли вы предоставить этот метод или ссылку на что-то, что хорошо мне поможет.Попытка создать страницу регистрации пользователя в kotlin
Итак, я попытался следовать некоторой документации, чтобы добавить проверку, но если имеется более одного поля EditText, приложение просто вылетает после нажатия кнопки регистрации в приложении.,В документации упоминается что-то о представлении переработчика.Но не знаю, как реализовать это для этого.
implementation 'com.afollestad.material-dialogs:input:3.0.0-beta2'
implementation 'com.afollestad.material-dialogs:core:3.0.0-beta2'
register_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/name"
android:layout_margin="8dp"
android:hint="Name"
android:inputType="text"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/r_email"
android:hint="Email"
android:inputType="textEmailAddress"
android:layout_margin="8dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/r_city"
android:hint="City"
android:inputType="text"
android:layout_margin="8dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/r_password"
android:hint="Password"
android:inputType="textPassword"
android:layout_margin="8dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/r_confirmPassword"
android:hint="Confirm password"
android:layout_margin="8dp"
android:inputType="textPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</FrameLayout>
SigninActivity.kt
link_signup.setOnClickListener {
register()
}
link_forgot.setOnClickListener {
forgot()
}
}
private fun forgot() {
val forgot_layout = LayoutInflater.from(this@SignInActivity)
.inflate(R.layout.forgot_layout, null)
MaterialDialog(this).show {
title(text = "Recovery")
message(text = "Forgot your passsword?")
icon(R.drawable.ic_reset)
cancelable(true) // calls setCancelable on the underlying
dialog
cornerRadius(10f)
cornerRadius(res = R.dimen.my_corner_radius)
input(waitForPositiveButton = false, hint = "Email") {
dialog, text ->
val inputField = dialog.getInputField()
val isValid = text.startsWith("a", true)
inputField?.error = if (isValid) null else "Must be a
valid email!"
dialog.setActionButtonEnabled(WhichButton.POSITIVE,
isValid)
}
positiveButton(text = "Submit")
}
}
private fun register() {
MaterialDialog(this).show {
title(text = "Create an account")
message(text = "Please fill out the information below?")
customView(R.layout.register_layout, scrollable = true)
icon(R.drawable.ic_user)
cancelable(true) // calls setCancelable on the underlying
dialog
cornerRadius(10f)
cornerRadius(res = R.dimen.my_corner_radius)
positiveButton(text = "submit")
}
Как уже упоминалось выше, я хотел быбыть в состоянии проверить несколько проверок для нескольких окон EditText.