Значок ошибки EditText и показать пароль missplaced

У меня есть EditText в качестве ввода пароля, как это

<android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <EditText
                android:id="@+id/password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/prompt_password"
                android:imeActionId="@+id/login"
                android:imeActionLabel="@string/action_sign_in_short"
                android:imeOptions="actionUnspecified"
                android:inputType="textPassword"
                android:maxLines="1"
                android:singleLine="true" />

</android.support.design.widget.TextInputLayout>

он работает, но когда есть ошибка, значок ошибки shwon дважды, и он находится поверх значка Показать пароль.

error icon missplaced

мой код проверки, чтобы показать ошибки :

if (success) {
    finish();
    startMainActivity();
} else {
         mPasswordView.setError(getString(R.string.error_incorrect_password));
            mPasswordView.requestFocus();
}

2 ответов


не называй setError на EditText используйте TextInputLayout ' s setError()


Кажется, что это ошибка после обновления зависимостей gradle до 24+. Пожалуйста, проверьте этой ответ. У меня были все мои setError() работает нормально до этого. Кроме того, вам не нужно было просить фокус, чтобы отобразить ошибку.