Java setImageResource

时间:2016-04-13 20:36:35

标签: java android

我有一个小纸牌游戏。在ArrayList中,我添加了52张卡:

ArrayList<String> liste = new ArrayList<String>();

并填写:

for (int n=1; n<14; n++) {
    liste.add("d" +n); //diamonds
    liste.add("c" +n); //clubs
    liste.add("s" +n); //spades
    liste.add("h" +n); //hearts
}

要绘制卡片我使用此代码:

private void drawCard() {
    if (liste.size()!=0) {
        Collections.shuffle(liste);
        kort.setText("" + liste.get(0));
        int i = liste.size();
        cardsLeft.setText("" + (i - 1));
        cardImage.setImageResource(R.drawable.XXX);
        liste.remove(0);
    }
    else kort.setText("No more cards in deck");
}

在我的drawable文件夹中,我有52张卡片,其名称与ArrayList中的名称相同。 当节目画出例如。 d2我需要将ImageView cardImage设置为drawable文件夹中的图像d2:

cardImage.setImageResource(R.drawable.d2);

需要帮助我如何更改imageview以匹配绘制的卡

1 个答案:

答案 0 :(得分:1)

你可以这样做:

public static int getDrawableId(Context ctx, String name) {
   return ctx.getResources().getIdentifier(name, "drawable", ctx.getPackageName());
}

cardImage.setImageResource(getDrawableId(YourActivity.this, "d2"));