所以我有登录表单,当用户点击登录时我会检查输入。
首先我点击登录按钮,然后点击textinputlayout.seterrorenabled(false)
,然后当API调用结束时我的editttext出现错误,我就拨打textinputlayout.seterrorenabled(true)
,textinputlayout.seterror(message)
。一切都很好,现在我再次点击登录并重复相同的过程textinputlayout.seterrorenabled(false)
,然后在API调用结束后textinputlayout.seterrorenabled(true)
,textinputlayout.seterror(message)
。但是这次消息没有显示出来。有什么问题?
<android.support.design.widget.TextInputLayout
android:id="@+id/usernameField1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/usernameField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/user_name"
android:textColorHint="#808080"
android:paddingBottom="@dimen/tendp"
android:paddingLeft="@dimen/tendp"
android:paddingRight="@dimen/tendp"
android:paddingTop="@dimen/tendp"
android:textSize="@dimen/textSize" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/passwordField1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/passwordField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/password"
android:textColorHint="#808080"
android:paddingBottom="@dimen/tendp"
android:inputType="textPassword"
android:paddingLeft="@dimen/tendp"
android:paddingRight="@dimen/tendp"
android:paddingTop="@dimen/tendp"
android:textSize="@dimen/textSize" />
</android.support.design.widget.TextInputLayout>
<Button
android:id="@+id/login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:background="?attr/selectableItemBackground"
android:text="@string/login"
android:visibility="gone"
android:textColor="@android:color/white"
android:textSize="@dimen/textSize" >
</Button>
final Button login = (Button) findViewById(R.id.login);
// login.setOnClickListener(new OnClickListener() {
login.setOnClickListener(here i set my textinputlayout to errorenabled false or seterror null // start an asynctask
here in asynctask onpostexecute i set the errorenabled(true) and set error( the message)
答案 0 :(得分:-1)
如果您想要显示消息,请不要仅使用textinputlayout.seterrorenabled(true)
或textinputlayout.seterrorenabled(true)
,如果您不显示消息,请textinputlayout.seterror(message)