Подтвердить что ты не робот

Android ImageView setImageResource в коде

У меня есть imageView, который я хочу отобразить в небольшом значке страны, в которой вы сейчас находитесь. Я могу получить код страны, но проблема в том, что я не могу динамически изменять ресурс imageView. Мои файлы изображений все строчные (Пример: код страны = США, файл изображения = нас)

Мой код (countryCode - это текущий код страны заглавными буквами):

    String lowerCountryCode = countryCode.toLowerCase();
    String resource = "R.drawable." + lowerCountryCode;
    img.setImageResource(resource);

Теперь, конечно, это не сработает, потому что setImageResource хочет int, поэтому как я могу это сделать? Спасибо заранее: D

4b9b3361

Ответ 1

Один простой способ сопоставить имя этой страны, которое вы должны использовать int для использования в методе setImageResource:

int id = getResources().getIdentifier(lowerCountryCode, "drawable", getPackageName());
setImageResource(id);

Но вы действительно должны пытаться использовать разные ресурсы папок для стран, которые вы хотите поддержать.

Ответ 2

Настройка изображения в ImageView с помощью метода setImageResource():

ImageView myImageView = (ImageView)v.findViewById(R.id.img_play);
// supossing to have an image called ic_play inside my drawables.
myImageView.setImageResource(R.drawable.ic_play);

Ответ 3

вы используете этот код

ImageView[] ivCard = new ImageView[1];

@override    
protected void onCreate(Bundle savedInstanceState)  

ivCard[0]=(ImageView)findViewById(R.id.imageView1);

Ответ 4

вы можете попробовать следующее: -

myImgView.setImageDrawable(getResources().getDrawable(R.drawable.image_name));