EditText错误图标和显示密码错位

我有一个EditText作为密码input像这样

<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两次,它是显示密码图标的顶部。

错误图标错位

我的validation码显示错误:

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

不要在EditText上调用setError ,使用TextInputLayout的setError()

它似乎是更新到24 +的Gradle依赖关系后的错误。 请检查这个答案。 我有我所有的setError()之前工作正常。 另外,你不必为了显示错误而要求重点。