¿Cómo volver al estilo predeterminado en EditText si aplico un fondo?
Me encontré con un problema que no sé cómo resolver. Parece tonto, pero no puedo encontrar una manera de arreglarlo.
Tengo un formulario en android con varios EditText y cuando envíe el formulario que comprueba los EditText y si tienen datos incorrectos cambio el EditText a borde rojo (aplicando una imagen de nueve paquetes).
- Cómo crear androide spinner sin triángulo hacia abajo en el lado derecho del widget
- Padding arround textview con fondo de nueve parches no tienen efecto visual
- Android: compilación de 9 archivos de parche para ser utilizado fuera de la carpeta de dibujo?
- Cómo reasignar una imagen de 9 parches mediante programación a un ImageView?
- Creación de un parche 9 dibujable en tiempo de ejecución
myEditText.setBackgroundResource(R.drawable.edittext_red);
El problema es que quiero restaurar el estilo predeterminado de android cuando el usuario cambia el EditText, pero no sé cómo hacerlo. si lo hago:
myEditText.setBackgroundResource(0);
Sólo se quitará todo y eso no es lo que quiero.
¡Gracias!
- Ninepatch escala incorrecta al desplazarse después de aplicar un filtro de color?
- Android 9 patch xml dibujable
- Cómo funciona un png 9patch en aplicaciones Android
- Imagen transparente de 9patch: línea que muestra a través
- Creación de una burbuja de chat utilizando Formas o imagen de 9 parches
- Problema con la imagen de 9 parches como fondo
- Imagen de nueve parches para dibujar 1 borde de píxeles alrededor de TextView
- ¿Por qué la imagen de nueve parches en RelativeLayour oculta todos los elementos internos?
En primer lugar, antes de llamar a setBackgroundResource con su propio ninepatch, guarde el fondo original del EditText, como esto:
Drawable originalDrawable = myEditText.getBackground();
Entonces, si el usuario introdujo los datos incorrectos, puede configurar el borde rojo ninepatch:
myEditText.setBackgroundResource(R.drawable.edittext_red);
Y más adelante, cuando quiera restaurar la apariencia del EditText, utilice el drawable almacenado:
myEditText.setBackgroundDrawable(originalDrawable);
Alternativamente, puedes hacer referencia al fondo de Android EditText predeterminado directamente de esta manera:
myEditText.setBackgroundResource(android.R.drawable.edit_text);
En androiddrawables se puede ver cómo los diferentes drawables buscar las diferentes versiones de Android, y obtener su identificador de recursos. Este método debe funcionar para todos los drawables, no sólo EditText
Estos (y otros recursos de Android) también se pueden encontrar en su propio sistema, en la carpeta android-sdk en
<Ruta de acceso a la carpeta android-sdk> / android-sdk / plataformas / android- <nivel de API> / data / res /
- Cómo agregar PDFBox a un proyecto de Android o sugerir alternativas
- ¿Cómo eliminar un recurso de cadena no utilizado para todas las configuraciones de Android Studio?