Intereting Posts
Выбранный обратный вызов Spinner активируется дважды после вращения, если выбрана ненулевая позиция Android Bluetooth – невозможно подключиться Не удалось найти ошибку в проекте проекта библиотеки Android JSONObject: добавьте массив в метод put Android imageview занимает дополнительное черное пространство Как удалить неиспользуемый строковый ресурс для всех конфигураций в Android Studio? Является ли Android InflaterInputStream такой же популярной библиотекой ZLIB Windows? Удаление файлов старше заданного времени из каталога Android Studio .2.2 и пакет Gradle не существуют AccountManager не добавляет пользовательскую учетную запись в Android N preview Индикатор пользовательской вкладки (со стрелкой вниз, как индикатор) Автоматизация развертывания в консоли разработчика Android API передней панели Android Как определить скорость процессора Android? Android: Socket – java.net.SocketException: sendto failed: EPIPE (Broken pipe)

Прямо в текстовом редакторе, не обновляющемся после ошибки

Редактировать текст в android не позволяет изменять способ рисования после setError . Я использовал поле для прав на использование для пароля, но если ошибка попадает в поле пароля, это не позволит изменить возможность рисования после него. Перед ошибкой он работает нормально.

<EditText android:id="@+id/edt_reg_password" style="@style/editText_full_view" android:layout_height="wrap_content" android:layout_below="@id/edt_reg_email" android:layout_marginTop="@dimen/padding_normal" android:drawableLeft="@mipmap/ic_action_password" android:drawableRight="@mipmap/ic_action_password_visibility" android:drawablePadding="@dimen/padding_normal" android:hint="@string/hint_password" android:inputType="textPassword" android:maxLength="25" android:paddingLeft="@dimen/padding_normal" tools:visibility="visible" /> 

Java-код для изменения времени запуска значка

 private void setPasswordDrawable() { final Drawable showpass_icon = getResources().getDrawable(R.mipmap.ic_action_password_visibility); final Drawable hidepass_icon = getResources().getDrawable(R.mipmap.ic_action_password_visibility_off); final Drawable pass_drawable = getResources().getDrawable(R.mipmap.ic_action_password); pass_drawable.setBounds(0, 0, pass_drawable.getIntrinsicWidth(), pass_drawable.getIntrinsicHeight()); //edtPassword.setCompoundDrawables(pass_drawable, null, showpass_icon, null); edtPassword.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (edtPassword.getCompoundDrawables()[2] == null) { return false; } if (event.getAction() != MotionEvent.ACTION_UP) { return false; } if (event.getX() > edtPassword.getWidth() - edtPassword.getPaddingRight() - showpass_icon.getIntrinsicWidth()) { if (isPasswordVisible) { runOnUiThread(new Runnable() { @Override public void run() { //edtPassword.setError(null); edtPassword.setTransformationMethod( PasswordTransformationMethod.getInstance()); edtPassword.setSelection(edtPassword.getText().length()); showpass_icon.setBounds(0, 0, showpass_icon.getIntrinsicWidth(), showpass_icon.getIntrinsicHeight()); edtPassword.setCompoundDrawables(pass_drawable, null, showpass_icon, null); } }); isPasswordVisible = false; } else { runOnUiThread(new Runnable() { @Override public void run() { //edtPassword.setError(null); edtPassword.setTransformationMethod( HideReturnsTransformationMethod.getInstance()); edtPassword.setSelection(edtPassword.getText().length()); hidepass_icon.setBounds(0, 0, hidepass_icon.getIntrinsicWidth(), hidepass_icon.getIntrinsicHeight()); edtPassword.setCompoundDrawables(pass_drawable, null, hidepass_icon, null); } }); isPasswordVisible = true; } } return false; } }); } 

Для установки ошибки

 public void setViewError(View view, String message) { if (view instanceof EditText) { ((EditText) view).setError(message); } } 

Живой пример

    Вы можете использовать это как –

     if(error=true){ editText.setCompoundDrawablesWithIntrinsicBounds( 0, 0,R.drawable.ic_error, 0); editText.setCompoundDrawablePadding(5);} else{ editText.setCompoundDrawablesWithIntrinsicBounds( 0, 0,R.drawable.ic_corrct, 0); editText.setCompoundDrawablePadding(5);}