2012-09-11 14 views
7

Próbuję użyć kolorów utworzonych w moim pliku res/values/colors.xml. Ale kiedy nawiązać połączenie dynamicznie program nie kompiluje i zamiast tego zaleca: Should pass resolved color instead of a resource id.Jak dynamicznie wywoływać kolory w zasobach w systemie Android?

Kod koloru: kod

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

działalność:

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); 

Odpowiedz

16

zmienić kod do następującego:

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

Powyższy kod jest przestarzały spróbuj tego modelu ContextCompat.getColor (CalenderDetailActivity.this, R.color.green) –

Powiązane problemy