Динамически загружать изображения в ImageView в Android - PullRequest
5 голосов
/ 23 ноября 2010

У меня есть база данных из более 100 изображений (с флагами стран) в моей папке для рисования.

Теперь я хочу отобразить флаг страны, в которой вы находитесь в настоящее время, в ImageView.

Я получаю страну с String country_variable = address.getCountryCode();

И я устанавливаю изображение с flag.setImageDrawable(getResources().getDrawable(R.drawable.country_variable));

Как вы все знаете, R.drawable.country_variable не будет работать, потому что компилятор может 't найти изображение с именем country_variable в папке drawable.

Каков наилучший способ сделать это?

Ответы [ 2 ]

12 голосов
/ 23 ноября 2010

Вы должны иметь возможность использовать getResources (). GetIdentifier (), чтобы получить идентификатор по имени ресурса.Что-то вроде:

flag.setImageDrawable(getResources().getDrawable(getResources().getIdentifier("drawable/" + country_variable, "drawable", getPackageName()));
6 голосов
/ 23 ноября 2010

Попробуйте это:

flag.setImageDrawable(getResources().getDrawable(getResources().getIdentifier(country_variable, "drawable", getPackageName()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...