0
int[] images2 = {
            R.drawable.wrong, R.drawable.reviewp,
            R.drawable.bowl, R.drawable.ic_action_search
            };
List<int[]> pic=Arrays.asList(images2);
Collections.shuffle(pic);
Random random = new Random();
for(int i = 0 ; i <= 3 ; i++){

    ReciverI[i].setBackgroundResource(images2[ "at here i want to get the image position"   ]);
    }

画像の位置を取得するのを手伝ってください

これは機能していません

    ReciverI[i].setBackgroundResource(images2[Integer.parseInt(pic.get(i).toString())]);

これは私に間違った結果を与えます

4

2 に答える 2

1

コードを書き直します

解決策1

Integer[] images2 = {R.drawable.wrong, R.drawable.reviewp, R.drawable.bowl,R.drawable.ic_action_search};
List<Integer> pic=Arrays.asList(images2);
Collections.shuffle(pic);
for(int i = 0 ; i <= pic.size() ; i++){
ReciverI[i].setBackgroundResource(pic.get(i))
}

primitiv intを絶対に保存したい場合は、少し歩き回る必要があります

解決策2

List<Integer> pic = new ArrayList<Integer>();
        for (int index = 0; index < images2.length; index++)
        {
            pic.add(images2[index]);
        } 
        Collections.shuffle(pic);
        for(int i = 0 ; i <= pic.size() ; i++){
          ReciverI[i].setBackgroundResource(pic.get(i))
        }
于 2013-03-13T07:57:40.847 に答える
1
ReciverI[i].setBackgroundResource(pic.get(i)) 

すみません、注意を払っていませんでした。作成するだけで機能しますList<int>。スニペットが現在のように、整数配列のリストを持つ必要はありません。

于 2013-03-13T07:47:24.537 に答える