palettes - Android: java.lang.IllegalArgumentException: color desconocido
material design google color palette (2)
Recibo el error anterior cuando intento ejecutar el siguiente código:
int colourInt = Color.parseColor(colour.getHexValue());
El valor hexadecimal ofensivo es ee3090b0
. ¿Hay alguna manera de convertir un valor hexdecimal de color a su equivalente entero y aún así conservar el valor alfa? He intentado seguir una sugerencia hecha en esta post , pero no está funcionando ...
De la documentation :
public static int parseColor (String colorString)
Analice la cadena de color y devuelva el correspondiente color-int. Si la cadena no se puede analizar, lanza una excepción IllegalArgumentException . Los formatos admitidos son: #RRGGBB #AARRGGBB ''rojo'', ''azul'', ''verde'', ''negro'', ''blanco'', ''gris'', ''cian'', ''magenta'', ''amarillo'', ''lightgray'', ''darkgray ''
Su método probablemente devuelve una cadena que no comienza con un #
.
Envuélvalo dentro de un bloque try catch, y establezca en el bloque catch el color predeterminado para manejar la excepción
Por ejemplo, estoy analizando un color de la configuración remota de Firebase, si la búsqueda de ese color arroja una IllegalArgumentException
, establezco que el color sea el predeterminado en mi aplicación.
try{
color = Color.parseColor(RemoteConfigSingleton.getInstance().getEventColor());
}catch (IllegalArgumentException e){
color = Color.parseColor("#E53935");
}
Haciendo esto evito el fatal accidente de la aplicación.