Использование переменной с r.drawable

#android

#Android

Вопрос:

Я создаю игру и хочу, чтобы за препятствиями отображались картинки, я использую r.drawable… для создания изображений, но как мне нужно это изменить… с именем переменной

 picturename = "clouds";

picture = new BitmapFactory().decodeResource(Constants.CURRENT_CONTEXT.getResources(), R.drawable.picturename);
  

Я понимаю, что это так не работает, но как бы мне заставить это работать.

Ответ №1:

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

  String resourceName = "clouds";
 int resourceIdentifier = getResources().getIdentifier(resourceName, "drawable", Constants.CURRENT_CONTEXT.getPackageName());
  

Обновить:

Затем

 picture = new BitmapFactory().decodeResource(Constants.CURRENT_CONTEXT.getResources(), resourceIdentifier);
  

Комментарии:

1. стал бы я тогда делать picture = new BitmapFactory().decodeResource(константы. CURRENT_CONTEXT.getResources(), R.drawable.resourceIdentifier ); ??

2. Обновлен ответ с использованием идентификатора

3. Хорошо, но там также написано «не удается разрешить метод getActivity()». Есть идеи?

4. Ну, вы можете использовать любую Context , чтобы получить имя пакета (обновлено)