2

これはまた見落としがちな問題かもしれませんが、解決にご協力いただければ幸いです。このコードを使用してドローアブルから画像を取得し、それをImageview.setImageResource(私のImageviewはグリッドビュー内にあります)に送信します。すべてがうまく機能します

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

ImageViewImageResourceをこのコードに設定します

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

次のようなエラーが発生します。

タイプImageViewのメソッドsetImageResource(int)は、引数(Object)には適用できません。修正/把握するのを手伝ってもらえますか?

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 に答える