getColorStateList a été désapprouvée
Je vais avoir un problème ici. J'ai juste mis à jour du sdk de 22 à 23, et la version précédente de "getColorStateList()" est obsolète.
Mon code était comme ça
seekBar.setProgressTintList(getResources().getColorStateList(R.color.bar_green));
valorslide.setTextColor(getResources().getColorStateList(R.color.text_green));
L'ancien "getColorStateList" a été
getColorStateList(int id)
Et le nouveau est
getColorStateList(int id, Resources.Theme theme)
Comment puis-je utiliser le Thème de la variable? Merci d'avance
Vous devez vous connecter pour publier un commentaire.
Le Thème de l'objet est le thème qui est utilisé pour le style de la couleur de l'etat liste. Si vous n'utilisez pas toute spéciale de la thématisation avec des ressources individuelles, vous pouvez passer soit
null
ou le thème actuel comme suit:Si vous n'avez pas n'avez pas de soins sur le thème, vous pouvez simplement passer la valeur null:
Voir la documentation pour plus d'explication. Note, il vous suffit d'utiliser la nouvelle version de l'API 23 (Android Guimauve) et au-dessus.
minSdkVersion
est 23 ou plus, vous devrez utiliser la version obsolète sur des appareils plus anciens de toute façon.14635-14635/golden.imper.csystemhelper E/MessageQueue-JNI﹕ java.lang.NoSuchMethodError: No virtual method getColorStateList(ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList; in class Landroid/content/res/Resources; or its super classes (declaration of 'android.content.res.Resources' appears in /system/framework/framework.jar)
Tout anthonycr la réponse de travaux, il est beaucoup plus compact de l'écrire
seekBar.setProgressTintList()
(je n'ai pas vraiment besoin de cela, c'est pour savoir)ColorStateList
à partir d'une couleur personnalisée et non pas à partir des ressources de la couleur?Vous devez utiliser ContextCompat.getColor(), qui est une partie de l'Appui V4 Bibliothèque (de sorte qu'il fonctionne pour tous les précédents API).
Exactement si vous les utilisez , vous perdrez tous les styles. Pour une version antérieure, vous devez créer
ColorStateList
de façon dynamique, C'est la principale chance de garder vos styles.cela fonctionne pour toutes les versions