2012-09-11 15 views
7

Estoy tratando de usar los colores creados en mi archivo res/values/colors.xml. Pero cuando hago la llamada de forma dinámica el programa no compila y en su lugar recomienda: Should pass resolved color instead of a resource id.¿Cómo llamar colores dinámicamente a los recursos en Android?

Código de colores: Código

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<color name="gold">#857500</color> 
    <color name="green">#0B3B0B</color> 
</resources> 

Actividad:

title.setTextColor(R.color.green); 
help.setTextColor(R.color.gold); 
settings.setTextColor(R.color.gold); 
logout.setTextColor(R.color.gold); 
profile.setTextColor(R.color.green); 

Respuesta

16

Cambiar el código a la siguiente:

title.setTextColor(getResources().getColor(R.color.green)); 
help.setTextColor(getResources().getColor(R.color.gold)); 
settings.setTextColor(getResources().getColor(R.color.gold)); 
logout.setTextColor(getResources().getColor(R.color.gold)); 
profile.setTextColor(getResources().getColor(R.color.green)); 
+0

El código anterior está en desuso, pruebe esto ContextCompat.getColor (CalenderDetailActivity.this, R.color.green) –

Cuestiones relacionadas