通过ID动态获取drawable

我想取一个byte并将其附加到资源ID,以便能够获得与游戏中编号的套牌相对应的图像。 使用其他设备上的路径很容易,但是使用资源ID我不确定如何才能执行此操作。

这就是我现在拥有的:

 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; } 

在我的Blackberry版本中,我只是:

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

有没有办法在Android上使用资源ID完成类似的事情?

  • 失败
  • 如何findNDK的路径?
  • 清除帐户删除数据
  • 升级到Android Studio 2.3后,获取“package android.support.multidex”不存在
  • 配置改变(方向改变)和破坏活动 - 这是它应该工作的方式吗?
  • 如果它是空的,那么android中的EditText.getText()会返回什么?
  • 找不到与main.xml中给定名称匹配的资源
  • 如何从片段中访问父活动中的UI元素
  • 从你的Context (例如, Activity )使用getResources().getIdentifier() ,但是如果你多次使用它,请缓存结果。 getIdentifier()Resources上实现。

    例如:

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

    将返回R.drawable.fooN的值,其中Nindex给出的数字。

    有关更多信息,请参阅此内容以及此内容 。