我使用了一个Material TextInputLayout来显示用户输入错误值时的错误。虽然,错误逻辑工作正常,但错误显示在一个弹出式的窗口中,如 这个 而不是表现为 这个 下的布局。谁能解释一下我做错了什么。我是这样在布局中创建EditText的。xml 文件。
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/password_layout_signup_page"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginEnd="32dp"
app:errorEnabled="true"
app:passwordToggleEnabled="true"
android:layout_below="@id/email_layout_signup_page">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/password_edit_signup_page"
style="@style/Body2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableStart="@drawable/lock_icon"
android:drawablePadding="8dp"
android:drawableTint="@color/hint_gray"
android:ems="10"
android:hint="@string/password_asteriks"
android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>
我是这样设置错误的,在相应的... .kt 文件,我使用了一个Material TextInputLayout来显示用户输入错误值时的错误。
passwordEditText.setError("Be at least 8 characters",null)
设置错误 TextInputLayout
而不是 TextInputEditText
那就试试这个
password_layout_signup_page.setError("Be at least 8 characters")