【问题标题】:use string/array to get file (android)使用字符串/数组获取文件(android)
【发布时间】:2011-12-06 02:13:37
【问题描述】:

我在动态抓取图像时遇到问题。简单地说,我该怎么做这样的事情:

ImageView img = (ImageView)findViewById(R.id.img_place);
img.setImageResource(R.drawable.image_string[1]);

所以基本上,image_string 可以容纳任何东西,

图像1 图2 图片3

必须是可能的,但不知道怎么做。

【问题讨论】:

  • 你想具体实现什么?
  • 我认为您正在搜索that questionThe answer 解释了如何通过字符串获取资源。

标签: java android arrays image


【解决方案1】:

你可以这样做,

public static Integer[] images = new Integer[]{R.drawable.my_love,R.drawable.first,R.drawable.second,R.drawable.third};

然后像这样设置图片资源,

ImageView mImageView = new ImageView(this.context);
mImageView.setImageResource(this.images[position]);

【讨论】:

    【解决方案2】:

    您可以按名称获取资源。 像这样:

    ImageView img = (ImageView)findViewById(R.id.img_place);
    int resource = getResources().getIdentifier(image_string[0], "drawable", "com.package");
    img.setImageResource(resource);
    

    【讨论】:

    • 这实际上是最好的答案,很惊讶还没有人投票。
    【解决方案3】:

    假设 image_string 是 XML string array,您可以执行以下操作:

    String[] image_string = getResources().getStringArray(R.array.image_string);
    

    然后像普通数组一样访问元素。

    但是,setImageResource 获取资源的 ID,而不是字符串。

    因此,要获取 ID,您可以执行以下操作:

    ImageView img = (ImageView)findViewById(R.id.img_place);
    String[] image_string = getResources().getStringArray(R.array.image_string);
    img.setImageResource(getResources().getIdentifier(image_string[1] , "drawable", getPackageName()));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-28
      • 2015-06-11
      • 2017-02-22
      • 2018-07-10
      • 2016-03-29
      • 2017-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多