2

这可能是我可能会再次忽略的问题,但如果您能帮助我解决它,我将非常感激。使用此代码从 drawable 获取图像并将其发送到 Imageview.setImageResource (其中我的 Imageview 在 gridview 中);一切正常

private   Integer[] imageIDs = {
            //R.drawable.image1,
            R.drawable.image2,
            R.drawable.image3,
            R.drawable.image4,
            R.drawable.image5,
            R.drawable.image6,
            R.drawable.Image7,
};

//Here is my another code to call imageIDs as ImageResource
ImageView iv = (ImageView)v.findViewById(R.id.grid_item_picture);
iv.setImageResource(imageIDs[position]);
//position is a default value of gridview starting from 0 

现在我想要完成的是删除该数组并将其转换为 ArrayList 仅仅是因为需要这些内部数据是动态的。所以我创建了这个新代码

ArrayList<String> array_image = new ArrayList<String>();
        array_image.add("R.drawable.image6");
        array_image.add("R.drawable.image1");

并将 ImageView ImageResource 设置为此代码

iv.setImageResource(array_image .get(position));

我收到一条错误消息:

ImageView 类型中的方法 setImageResource(int) 不适用于参数(对象)你能帮我解决/弄清楚吗?

4

3 回答 3

8

您正在为字符串定义一个 ArrayList。但是,您需要整数作为资源标识符。

改为这样;

ArrayList<Integer> array_image = new ArrayList<Integer>();
array_image.add(R.drawable.image6);
array_image.add(R.drawable.image1);
于 2012-08-23T06:21:04.660 回答
1

嘿@Janwel 尝试使用这个。这很可能会奏效。

List<Integer> mL = new ArrayList<Integer>();
mL.add(R.drawable.image2);
于 2012-08-23T06:53:32.433 回答
0

请尝试

ArrayList<int> array_image = new ArrayList<int>();
array_image.add(R.drawable.image6);
array_image.add(R.drawable.image1);

接着

iv.setImageResource(array_image .get(position));
于 2012-08-23T06:24:00.593 回答