1

我有一个字符串的arraylist,我需要随机选择一个索引,如果字符串值为“bear”,则将按钮的背景设置为bear.jpg。

好的,我的研究表明,资源是通过 int id 访问的,而不是他们的名字,我不确定实现我想做的最好的方法。这是我的代码:

    list.add("alligator");
    list.add("bear");
    list.add("beaver");
    list.add("bison");

    randomInt = randomGenerator.nextInt(list.size());
    b1.setBackgroundResource(R.drawable.list.get(randomInt));

现在当然最后一行代码是错误的,我写它是为了显示我想要实现的目标。我最近的尝试是尝试获取资源 id 并以这种方式访问​​资源,但我不知道这是否是这样做的方法,如果是我没有使用正确的代码。我正在努力自己做这件事,但我可以就在这里做什么提出一些建议。这是我的尝试:

         String mDrawableName = "bear";
         int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());

        String s= Integer.toString(resID);
4

2 回答 2

4

使用下面的代码

int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());    
b1.setBackgroundResource(resID);
于 2013-05-05T08:58:50.920 回答
1

试试这个:

list.add("alligator");
list.add("bear");
list.add("beaver");
list.add("bison");

randomInt = randomGenerator.nextInt(list.size());

int resourceId = getResources().getIdentifier(list.get(randomInt), "drawable", getPackageName());
b1.setBackgroundResource(resourceId);
于 2013-05-04T22:18:04.120 回答