Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Obtener dinámicamente elementos estirables por ID

Quiero tomar un byte y añadirlo a un ID de recurso para poder obtener la imagen que corresponde a esa cubierta numerada en el juego. Fue fácil con caminos en otros dispositivos, pero con el ID de recurso no estoy seguro de cómo podría hacerlo.

Esto es lo que tengo ahora:

 switch(GameSettings.gameDeck) { case 1: deckImage.setBackgroundResource(R.drawable.deck1); break; case 2: deckImage.setBackgroundResource(R.drawable.deck2); break; case 3: deckImage.setBackgroundResource(R.drawable.deck3); break; case 4: deckImage.setBackgroundResource(R.drawable.deck4); break; } 

En mi versión de Blackberry de esto, simplemente tenía:

 deckImage.setBitmap(Bitmap.getBitmapResource("/path/deck" + GameSettings.gameDeck + ".png")); 

¿Hay alguna manera de lograr algo similar usando ID de recursos en Android?

  • Jackson ObjectMapper con claves JSON arbitrarias
  • Receptor de alarma y el manifiesto de Android
  • Mecánico de seguridad de craqueo utilizando Android de audio y sensores de orientación
  • Selecciona varias imágenes de la Galería fotográfica en Android con Intents
  • Utilizando la biblioteca android.support.v4 en Intellij idea
  • ¿Puede el SDK de Android trabajar con JDK 1.7?
  • Tamaño de marcador de posición de Android Glide
  • Eclipse - Destino "desconocido" en el selector de dispositivos Android
  • One Solution collect form web for “Obtener dinámicamente elementos estirables por ID”

    Use getResources().getIdentifier() de su Context (por ejemplo, Activity ), pero coloque el resultado en caché si va a usarlo más de una vez. getIdentifier() se implementa en Resources .

    Por ejemplo:

     int drawableId=getResources().getIdentifier("foo"+index, "drawable", getPackageName()); 

    R.drawable.fooN el valor de R.drawable.fooN , donde N es el número dado por index .

    Para más, vea esto y esto y esto .

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.