在TextInputLayout中启用errorEnabled和passwordToggleEnabled

时间:2018-01-11 12:05:03

标签: android android-layout android-textinputlayout xml-layout

我想在errorEnabled中将passwordToggleEnabledTextInputLayout都设置为true,但似乎这两者不能共存,因为其中一个像{{{}}那样覆盖另一个3}}

我想这样做是因为我要验证密码字段以匹配特定条件,并且我希望用户能够同时看到错误消息和输入的密码。< / p>

这是我的代码:

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:counterEnabled="true"
    app:errorEnabled="true"
    app:passwordToggleEnabled="true">

    <android.support.design.widget.TextInputEditText
        android:id="@+id/password_input"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/password"
        android:inputType="textPassword" />

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

是否可以将passwordToggle-icon移动到感叹号的左侧?或者我是否必须创建自定义drawable并使用它而不是passwordToggle-icon?

2 个答案:

答案 0 :(得分:3)

尝试在setError() TextInputLayout

TextInputEditText内设置<android.support.design.widget.TextInputLayout android:id="@+id/ti_input" android:layout_width="match_parent" android:layout_height="wrap_content" app:counterEnabled="true" app:errorEnabled="true" app:passwordToggleEnabled="true"> <android.support.design.widget.TextInputEditText android:id="@+id/password_input" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Password" android:inputType="textPassword" />

XML

    if(password_input.getText().toString().equals(""))
        ti_input.setError("Enter Password");
    else
        ti_input.setError(null);

代码

UICollectionView

答案 1 :(得分:0)

这对我有用。不要在EditText上使用setError(),请使用 TextInputLayout setError()