Establecer imagen como background de layout indicando el nombre de la imagen en un String

Estoy haciendo una aplicación sencilla y me encuentro con que no soy capaz de cambiar el fondo a un layout indicando el nombre de la imagen en cuestión por String.

El código que tengo es este:

fondo.setBackgroundResource(R.mipmap.ff);

Donde "ff" es el nombre de la imagen que ya tengo guardada como recurso ("ff.jpg"). Así funciona perfectamente. Lo que me gustaría es que esa "ff" fuera suministrada por medio de un String. Algo así:

miString="ff.jpg";
fondoJuego.setBackgroundResource(R.mipmap.miString);
3
задан 26.12.2016, 15:42
0 ответов

Ты должен использовать, без расширения изображения, в этом случае:

String miString = "ff";

int resource = getResources().getIdentifier(miString, "drawable", getPackageName());
fondoJuego.setBackGroundResource(resource);

Согласно документации android:

getResource: Возврати инстанцию ресурсов для package приложения. getIdentifier: Возврати идентификатора ресурсов для специфического имени. Параметры:

  • ямс: Имя ресурса
  • defType: Тип ресурса, этот опциональный в случае, чем в предыдущем уже этом определенном параметре.
  • defPackage: package определил, откуда ты хочешь получить вышеупомянутый ресурс.
4
ответ дан 03.12.2019, 17:59

Теги

Похожие вопросы