¿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).

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!

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 /

  • Creación y uso de imágenes de 9 parches en Android
  • Mejor asignación de imágenes de calidad a partir de recursos basados ​​en resolución / densidad
  • 9 Imagen de parche donde el centro es 1: 1
  • Botón con fondo transparente oscurece en Lolipop android
  • 9-Patch en Selector muestra puntos negros
  • 9 parches - el borde 1px está borroso
  • Android Puede utilizar nueve imágenes de parche en lugar del hdpi, mdpi, ldpi
  • Dimensiones extraíbles de 9 parches Android. ¿Cómo manejan las diferentes densidades las áreas no estiradas?
  • Cómo utilizar correctamente las imágenes de nueve parches
  • Phonegap generando screen.png y screen.9.png para pantallas de bienvenida
  • ¿Es posible utilizar varias imágenes de parche dentro de LayerDrawable?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.