在 TextInputLayout 中同时启用 errorEnabled 和 passwordToggleEnabled
Enabling both errorEnabled and passwordToggleEnabled in a TextInputLayout
我想在 TextInputLayout
中将 errorEnabled
和 passwordToggleEnabled
都设置为 true,但是这两个似乎不能共存,因为一个覆盖另一个像 this.
我想这样做是因为我正在验证密码字段以匹配特定条件,并且我希望用户能够看到错误消息和输入的密码。
这是我的代码:
<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 移到感叹号左侧一点?或者我是否必须创建一个自定义可绘制对象并使用它来代替 passwordToggle-icon?
尝试在 TextInputLayout
上设置 setError()
而不是 TextInputEditText
xml
<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" />
代码
if(password_input.getText().toString().equals(""))
ti_input.setError("Enter Password");
else
ti_input.setError(null);
这对我有用。不要在 EditText 上使用 setError()
,使用 TextInputLayout 的 setError()
我想在 TextInputLayout
中将 errorEnabled
和 passwordToggleEnabled
都设置为 true,但是这两个似乎不能共存,因为一个覆盖另一个像 this.
我想这样做是因为我正在验证密码字段以匹配特定条件,并且我希望用户能够看到错误消息和输入的密码。
这是我的代码:
<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 移到感叹号左侧一点?或者我是否必须创建一个自定义可绘制对象并使用它来代替 passwordToggle-icon?
尝试在 TextInputLayout
上设置 setError()
而不是 TextInputEditText
xml
<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" />
代码
if(password_input.getText().toString().equals(""))
ti_input.setError("Enter Password");
else
ti_input.setError(null);
这对我有用。不要在 EditText 上使用 setError()
,使用 TextInputLayout 的 setError()