这是关于android上的java的问题 - eclipse
我有String
r
为了记录,我这样定他:
String r="pic"+c1;
我想取它的值,即“pic6”并将其用作变量名。
我该怎么做?
答案 0 :(得分:5)
如果您想从Android应用程序的drawable文件夹中选择名为“pic6.png”的图像,可以尝试以下代码。
String r = "pic" + c1;
int resId = getResources().getIdentifier(r, "drawable", getPackageName());
if (resId != 0) {
imageView.setImageResource(resId);
} else {
// This is used in case no image resource is found
imageView.setImageResource(R.drawable.unknown);
}
请参阅:如果您使用else部分,则需要将“unknown.png”图像添加到Android项目的drawable文件夹中。
希望这有帮助。
答案 1 :(得分:2)
您无法直接执行此操作,但可以使用HashMap模拟您所寻求的内容。
示例:
String r="pic"+c1;
HashMap<String,Integer> extendedVars=new HashMap<>();
extendedVars.put(r,10);
答案 2 :(得分:2)
喜欢Eng。福阿德说。 Java不支持动态变量。
同样的问题可以找到Here
答案 3 :(得分:1)
在java中,必须在编译时知道变量名。没有办法做你想做的事。