动态获取可绘制由ID动态、ID

2023-09-13 00:21:26 作者:Lotus(忘忧)

我想借此字节并将其附加到一个资源ID,以便能够获得对应于在游戏中号甲板上的图像。这是很容易与其它设备的路径,但随着资源的ID我不确定我怎么可能去做到这一点。

I want to take a byte and append it to a resource ID to be able to get the image that corresponds to that numbered deck in the game. It was easy to with paths on other devices, but with the Resource ID's I am unsure how I could go about do this.

下面是我现在有:

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

在此我的黑莓版本,我只是有:

In my Blackberry version of this, I simply had:

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

有没有办法来完成对Android的类似的东西使用资源的ID?

Is there a way to accomplish something similar using Resource IDs on Android?

推荐答案

使用 getResources()。则getIdentifier()上下文(例如,活动),但请缓存结果,如果你会用它不止一次。 则getIdentifier()资源实施

Use getResources().getIdentifier() from your Context (e.g., Activity), but please cache the result if you will use it more than once. getIdentifier() is implemented on Resources.

有关更多信息,请参阅this和this和this.

For more, see this and this and this.