2013-05-03 92 views
-2

我想從一個數組中獲得4個圖像,但我需要像其他數組 一樣的位置圖像,如同在示例中一樣。android如何從10個圖像數組中隨機獲得4個圖像

images = new int[] { 
    R.drawable.a, R.drawable.f, R.drawable.k, 
    R.drawable.u, R.drawable.y, R.drawable.w, R.drawable.t, R.drawable.g, 
    R.drawable.b, R.drawable.o 
}; 

images2 = new int[] { 
    R.drawable.apple, R.drawable.fan, 
    R.drawable.kite, R.drawable.umbrells, 
    R.drawable.yark,R.drawable.watch, R.drawable.tap, 
    R.drawable.gun, R.drawable.ball, R.drawable.orange 
}; 

我現在有2個10張圖片的數組。現在我需要來自相同陣列的5個圖像,但是隨機地並且相同的來自其他陣列的5個圖像。

像我需要

array1={R.drawable.a, R.drawable.w,R.drawable.o,R.drawable.g} 

和相同的對應關係。

array2 = {R.drawable.apple, R.drawable.watch,R.drawable.orange,R.drawable.gun} 

回答

0

這是您的解決方案

ArrayList<Integer> list=new ArrayList<Integer>(); 
     ArrayList<Integer> list1=new ArrayList<Integer>(); 
     Random r1=new Random(); 
     int[] images = new int[] {R.drawable.a, R.drawable.f, R.drawable.k, 
       R.drawable.u, R.drawable.y, R.drawable.w, R.drawable.t, R.drawable.g, 
       R.drawable.b, R.drawable.o}; 
     int[] images2 = new int[] { R.drawable.apple, R.drawable.fan, 
       R.drawable.kite, R.drawable.umbrells, 
       R.drawable.yark,R.drawable.watch, R.drawable.tap, 
       R.drawable.gun, R.drawable.ball, R.drawable.orange}; 
     for(int i=0;i<4;i++) 
     { 
      while(true) 
      { 
       int next=r1.nextInt(10)+1; 
       if(!list.contains(next)) 
       { 
       list.add(images[next]); 
       list1.add(images2[next]); 
       break; 
       } 
      } 
     } 
     array1 = convertIntegers(list); 
     array2 = convertIntegers(list1); 

這是

0

1)讓數字{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

2)洗牌集合(http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#shuffle(java.util.List)

現在你有類似{7, 9, 5, 2, 4, 3, 1, 0, 8}

3)的集合,使用前五個數字作爲你的五個索引 - 它們將是相互獨立的,並且可以重複使用這兩個數組。

在這種情況下,我們將使用7,9,5,2和4兩個陣列。

順便說一句,如果你想實現隨機洗牌自己(例如,如果你想洗牌的陣列,而不是一個集合),是指Random shuffling of an array

+0

如何隨機挑選,並同其他陣列 – Android 2013-05-03 06:35:15

+0

@android相應的轉換功能,通過實施我的答案:) – Patashu 2013-05-03 06:37:08

+0

我是新的Android我不知道你的第一個鏈接 – Android 2013-05-03 06:41:39