Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用字符串/数组获取文件(android)_Java_Android_Arrays_Image - Fatal编程技术网

Java 使用字符串/数组获取文件(android)

Java 使用字符串/数组获取文件(android),java,android,arrays,image,Java,Android,Arrays,Image,我对动态抓取图像有问题。简单地说,我怎样才能做这样的事情: ImageView img = (ImageView)findViewById(R.id.img_place); img.setImageResource(R.drawable.image_string[1]); ImageView img = (ImageView)findViewById(R.id.img_place); int resource = getResources().getIdentifier(image_strin

我对动态抓取图像有问题。简单地说,我怎样才能做这样的事情:

ImageView img = (ImageView)findViewById(R.id.img_place);
img.setImageResource(R.drawable.image_string[1]);
ImageView img = (ImageView)findViewById(R.id.img_place);
int resource = getResources().getIdentifier(image_string[0], "drawable", "com.package");
img.setImageResource(resource);
所以基本上,图像字符串可以容纳任何东西

图1 图2 图3


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

你可以这样做

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]);
然后像这样设置图像资源

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]);

你可以这样做

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]);
然后像这样设置图像资源

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]);

假设image_字符串是一个字符串,则可以执行以下操作:

String[] image_string = getResources().getStringArray(R.array.image_string);
然后像普通数组一样访问元素

但是,获取资源的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()));

假设image_字符串是一个字符串,则可以执行以下操作:

String[] image_string = getResources().getStringArray(R.array.image_string);
然后像普通数组一样访问元素

但是,获取资源的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()));

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

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

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

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

你到底想实现什么?我想你在寻找。解释如何通过字符串获取资源。您希望具体实现什么?我想您正在搜索。解释如何通过字符串获取资源。这实际上是最好的答案,令人惊讶的是还没有人投票。这实际上是最好的答案,令人惊讶的是还没有人投票。