-1

这是一个关于 android 上的 java 的问题 - eclipse 我有一个String记录在案的 r,我这样定义他:

String r="pic"+c1;

我想取它的值,即“pic6”并将其用作变量名。

我该怎么做?

4

4 回答 4

5

如果您想从 Android 应用程序的可绘制文件夹中选择名称为“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文件夹中。

希望这可以帮助。

于 2013-11-01T09:53:30.173 回答
2

您不能直接执行此操作,但您可以使用 HashMap 来模拟您所寻求的内容。

例子:

String r="pic"+c1;
HashMap<String,Integer> extendedVars=new HashMap<>();
extendedVars.put(r,10);
于 2013-11-01T09:36:57.717 回答
2

像英。福阿德说。Java 不支持动态变量。
同样的问题可以在这里找到

于 2013-11-01T09:37:26.303 回答
1

在 java 中,变量名必须在编译时知道。没有办法做你想做的事。

于 2013-11-01T09:39:10.453 回答