我有一个字符串的arraylist,我需要随机选择一个索引,如果字符串值是 “熊”,然后将按钮的背景设置为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);
答案 0 :(得分:4)
使用以下代码
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
b1.setBackgroundResource(resID);
答案 1 :(得分: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);