Resources$NotFoundException: если ресурс, который вы пытаетесь использовать, является векторным ресурсом, возможно, вы ссылаетесь на него неподдерживаемым образом

Я получаю следующее сообщение об ошибке

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.

когда я пытаюсь установить следующее:

view.setBackgroundResource(R.drawable.highlight_background);

or

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

Я также пытался использовать AppCompatImage. Это происходит на устройстве с Android 4.4.4. Я нашел еще один поток StackOverflow, который позволяет добавить

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);

в класс MyApplication и

    vectorDrawables.useSupportLibrary = true

в build.gradle. Но ошибка все равно возникает. Drawable состоит из следующего:

<?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>

Это просто линия, чтобы окружить изображение. Может кто-нибудь помочь мне?

Заранее спасибо!


comment
ваша проблема в строке android_color=attr/colorAccent, см. ссылку ниже   -  person an_droid_dev    schedule 17.07.2017


Ответы (2)


view.setBackgroundDrawable() устарел, используйте вместо него view.setBackgroundResource(int resId)

Например,

yourview.setBackgroundResource(R.drawable.highlight_background);

и, конечно же, измените значение цвета следующим образом.

android:color="@color/color_defined_in_colors_xml_file"

Надеюсь, это поможет.

person AndroidGeek    schedule 17.07.2017
comment
внимательно прочитайте вопрос. Он сказал, когда я пытаюсь установить следующее: view.setBackgroundResource(R.drawable.highlight_background); - person an_droid_dev; 17.07.2017
comment
да, извините, я отредактировал ответ. - person AndroidGeek; 17.07.2017
comment
Вы и an_droid_dev правы. Изменение android:color=?attr/colorAccent на android:color=@color/colorAccent помогло. Благодарю вас! - person Lars; 17.07.2017

вы можете использовать imageView.setImageResource();

person Uday Ramjiyani    schedule 17.07.2017