2013-03-17 2 views
1

В проекте, над которым я работаю, я пытаюсь загрузить текстуру в плитку. «Текстура» - это не что иное, как * .png-файл в папке Res. Информация, сообщающая мне, чтобы связать изображение и фрагмент вместе, взята из базы данных SQLite. Проблема в том, что я получаю эту информацию как строку (например, Rock.png). Как получить из этой строки идентификатор ресурса (@ drawable/rock)?Поиск идентификатора rescource

Мое первое предположение заключалось в написании класса с гигантским переключателем для случая, где я связал их вместе, но затем я пришел к выводу, что это будет довольно статичным (если не полностью отсталым). Таким образом, должно быть лучше, но до сих пор я не смог найти ...

ответ

2

Вы можете получить Id ресурсов, делая это

int resourceID = MainActivity.this.getResources().getIdentifier(img, "drawable", 
        MainActivity.this.getPackageName()); 

где

MainActivity ==> Текущая деятельность
img ==> вид/имя для тиражирования без расширения, например (.png) и R. (ID/строка/цвет ....)
вытяжке типа вашего "IMG"
MainActivity.this.getPackageName ( ==>)
==> имя текущего пакета

+0

Удивительный! работает так, как я надеялся! –

+0

@NickOtten приветствуется! –

Смежные вопросы