2014-09-16 3 views
0

Вот что у меня есть:Невозможно получить Drawable идентификатор ссылки из другого файла ресурсов

В разрешении/вытяжке-ИПЧР У меня есть этот образ:

ar_contact 

В рес/значений У меня есть этот файл:

<resources> 
    <string-array name="articles_images_thumbnail_array"> 
     <item>@drawable/ar_contact</item> 
    </string-array> 
</resources> 

Я хочу, чтобы получить идентификатор моего изображения из строки массива (у меня будет больше, чем одно изображение)

Теперь, когда я попробовал, что в коде, я получил только путь к изображению в виде строки:

res/drawable-hdpi-v4/ar_contact.png 

Это мой попробовал код:

id = resources.getStringArray(R.array.articles_images_thumbnail_array)[articleIndex]; 

выше Java код возвращает путь в виде строки но я хочу, чтобы идентификатор ar_contact изображения, так что я могу использовать его в качестве такового:

imageThumbnail.setImageResource(id); 

Я пытался использовать целочисленный-массив, но я получил только значение 0 для всех моих изображений.

+1

из всех вопросов, почему вы не можете просто использовать R. drawable.ar_contact? – Blackbelt

+0

@blackbelt Вы можете найти лучшую альтернативу для меня :) Вот почему: приложение будет перечислять статьи с одной ICON и одним изображением. Я сохраняю статьи, которые являются статическими и очень ограничены в количестве, 5 или 7 статьях в файлах ресурсов XML. У меня есть массивы для статей, значков и изображений. ICON и Image по индексам 0, связанным со статьей с индексом 0. Я хочу отправить изображения с моим приложением, чтобы не загрузить их. – malhobayyeb

ответ

2

Вы должны вместо этого использовать TypedArray как сказал в Resources API guides:

<resources> 
    <array name="articles_images_thumbnail_array"> 
     <item>@drawable/ar_contact</item> 
    </array> 
</resources> 

Затем извлеките массив так:

TypedArray array = getResources().obtainTypedArray(R.array.articles_images_thumnail_array); 
Drawable myDrawable = array.getDrawable(0); // Returns @drawable/ar_contact 
Смежные вопросы