【问题标题】: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
必须是可能的,但不知道怎么做。
【问题讨论】:
标签:
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()));