textinputlayout с ошибками и показывает ошибки

Итак, у меня есть форма входа, когда пользователь нажимает кнопку входа, я проверяю входные данные.

Во-первых, я нажимаю кнопку входа в систему 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)

2 ответа

Вы не устанавливаете setError в textinputlayout. Вы установили для редактирования текста.

EditText usernameField=(EditText)findViewById(R.id.usernameField);
EditText passwordField=(EditText)findViewById(R.id.passwordField);

Когда нажмите на кнопку, затем добавьте

usernameField.setError("error message");
passwordField.setError("error message");

Не использовать textinputlayout.seterrorenabled(true) или же textinputlayout.seterrorenabled(true) просто textinputlayout.seterror(message) если вы хотите отобразить сообщение или textinputlayout.seterror(null) если ты не

Другие вопросы по тегам