【问题标题】:How to call Resource_name with a String variable? [duplicate]如何使用字符串变量调用 Resource_name? [复制]
【发布时间】:2017-10-09 22:20:54
【问题描述】:

我想用一个随机的可绘制文件替换默认的 ImageView。我正在尝试使用一个字符串,该字符串将在 java 中调用 resource_name,该字符串具有一个根据用户输入而变化的变量字符串。

JAVA代码

String random1 = userinput_1;
String random2 = userinput_2;
String replaceImageView = (random1+"_"+random2);
orignalImageView.setImageResource(R.drawable.replaceImageView);

【问题讨论】:

  • Mike M 能否请您帮助将这些问题中的逻辑应用于我的问题。我迷路了,这个问题已经有一个多星期了,我没有看到这些问题对我有什么帮助。

标签: java android android-resources


【解决方案1】:

您需要使用名称获取标识符,然后像往常一样使用它

String random1 = userinput_1;
String random2 = userinput_2;
String replaceImageView = (random1+"_"+random2);
int drawableResourceId = this.getResources().getIdentifier(replaceImageView, "drawable", this.getPackageName());
orignalImageView.setImageResource(drawableResourceId);

【讨论】:

  • 我尝试过使用 drawable ResourceId 作为 int 和 String 没有任何运气。 Android Studio 将突出显示 R.drwable.**drawableResourceId) ** 作为错误。我不确定为什么我在这里做错了,我应该以不同的方式调用可绘制文件吗?
  • 你不需要“R.drwable.”,只需要“drawableResourceId”,你只需要确保字符串replaceImageView与资源名称完全匹配。
  • 感谢 Alirio
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多