0

Je reçois le message d'erreur suivant

android.content.res.Resources$NotFoundException: If the resource you are trying to use is a vector resource, you may be referencing it in an unsupported way. See AppCompatDelegate.setCompatVectorFromResourcesEnabled() for more info. 

quand im essayant de régler la suivant:

view.setBackgroundResource(R.drawable.highlight_background); 

ou

view.setBackgroundDrawable(ContextCompat.getDrawable(context, R.drawable.highlight_background)); 

J'ai aussi essayé d'utiliser AppCompatImage. Cela se produit sur un appareil avec Android 4.4.4. Je l'ai trouvé un autre thread StackOverflow qui permet d'ajouter

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); 

dans une classe MyApplication et

vectorDrawables.useSupportLibrary = true 

dans le build.gradle. Mais l'erreur se produit toujours. Le dessinable se compose de ce qui suit:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <stroke android:width="2dp" android:color="?attr/colorAccent" /> 
</shape> 

C'est juste une ligne pour encercler une image. Quelqu'un peut-il m'aider?

Merci d'avance!

+0

votre problème est android_color = attr/colorAccent "" ligne, voir le lien ci-dessous –

Répondre

2

view.setBackgroundDrawable() est dépréciée, utilisez view.setBackgroundResource(int resId) à la place

Par exemple,

yourview.setBackgroundResource(R.drawable.highlight_background); 

et biensur changer votre valeur de couleur comme ce

android:color="@color/color_defined_in_colors_xml_file" 

espère que cela aidera.

+0

lire attentivement la question. Il a dit "quand j'essaie de définir ce qui suit: view.setBackgroundResource (R.drawable.highlight_background);" –

+0

ouais désolé j'ai édité la réponse. – AndroidGeek

+0

Vous et an_droid_dev avez raison. Changer android: couleur = "? Attr/colorAccent" à android: couleur = "@ color/colorAccent" a fait l'affaire. Je vous remercie! – Lars

0

vous pouvez utiliser imageView.setImageResource();