Можно ли добавлять изображения программно? - PullRequest
2 голосов
/ 23 марта 2011

У меня есть веб-сервис, с которого я читаю различную информацию. Одним из таких фрагментов информации является название изображения. У меня все изображения хранятся локально в папке drawables. Что я сделал сейчас, так это прочитал строку нужного мне изображения из веб-сервиса. Я хочу использовать это имя строки и вставить изображение с таким же именем строки из моей папки для рисования. Возможно ли это сделать?

Можно ли как-нибудь сделать следующее?

//Setup the image
        ImageView spotIvIcon = (ImageView)findViewById(R.id.spot_selected_image);
        String temp = "R.drawable."+spotImage;
        spotIvIcon.setImageResource(R.drawable.beer);

Что я делаю с временной строкой. Можно ли преобразовать эту строку в нужный мне int? У меня есть пиво, чтобы что-то проверить. Спасибо

Ответы [ 2 ]

6 голосов
/ 23 марта 2011

Итак, я узнал, как это сделать. Если кто-то хочет знать, как это сделать, используйте следующий код:

int path = getResources().getIdentifier(spotImage, "drawable", "com.androidpeople.tab");
        spotIvIcon.setImageResource(path);

Где:

  • spotImage - это имя вашей строки
  • тип, который вы хотите нарисовать
  • com.androidpeople.tab - имя вашего пакета

Теперь работает как шарм.

2 голосов
/ 23 марта 2011

вы можете просто использовать каталог assets для хранения этих изображений, а затем загрузить их, используя что-то вроде BitmapFactory.decodeStream (assetManager.open (imAnAssetName));

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

http://developer.android.com/reference/android/content/res/AssetManager.html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...