我想要一个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;
}
在我的黑莓版本中,我只是有:
deckImage.setBitmap(Bitmap.getBitmapResource("/path/deck" + GameSettings.gameDeck + ".png"));
有没有办法在 Android 上使用资源 ID 来完成类似的事情?
Use getResources().getIdentifier()
从你的Context
(e.g., Activity
),但如果您要多次使用它,请缓存结果。getIdentifier()
实施于Resources
.
例如:
int drawableId=getResources().getIdentifier("foo"+index, "drawable", getPackageName());
将返回的值R.drawable.fooN
, where N
是由下式给出的数字index
.
有关更多信息,请参阅this and this and this.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)