【发布时间】:2013-11-01 09:32:38
【问题描述】:
这是一个关于 android 上的 java 的问题 - eclipse
我有一个String r
为了记录,我是这样定义他的:
String r="pic"+c1;
我想取它的值,即“pic6”并将其用作变量名。
我该怎么做?
【问题讨论】:
-
如果 c1 是 6 连接有什么问题?
-
Java 不支持动态变量。
这是一个关于 android 上的 java 的问题 - eclipse
我有一个String r
为了记录,我是这样定义他的:
String r="pic"+c1;
我想取它的值,即“pic6”并将其用作变量名。
我该怎么做?
【问题讨论】:
如果你想从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文件夹中。
希望这会有所帮助。
【讨论】:
你不能直接这样做,但你可以使用 HashMap 来模拟你所寻求的。
例子:
String r="pic"+c1;
HashMap<String,Integer> extendedVars=new HashMap<>();
extendedVars.put(r,10);
【讨论】:
String r="pic"+c1; pic6.setImageDrawable(getResources().getDrawable( R.drawable.orange)); 我想放 r 而不是 pic6。
喜欢英语。福阿德说。 Java 不支持动态变量。
可以找到同样的问题Here
【讨论】:
在 java 中,变量名必须在编译时知道。没有办法做你想做的事。
【讨论】: