2011-03-11 56 views
0

嗨,在Android上一次在UI屏幕上显示20个随机图像

我想在android的Activity屏幕上一次显示20个随机图像。我使用的这个片段: -

ImageView imageArr[] = new ImageView[25]; 
    int id[]={ R.drawable.letter1,R.drawable.letter2,R.drawable.letter3,R.drawable.letter4, 
       R.drawable.letter5,R.drawable.letter6,R.drawable.letter7,R.drawable.letter8, 
       R.drawable.letter9,R.drawable.letter10,R.drawable.letter11,R.drawable.letter12, 
       R.drawable.letter13,R.drawable.letter14,R.drawable.letter15,R.drawable.letter16, 
       R.drawable.letter17,R.drawable.letter18,R.drawable.letter19,R.drawable.letter20}; 

    ArrayList<Integer> randomArr = new ArrayList<Integer>(); 
    for(int i=0; i<20;i++) { 
     randomArr.add(i); 
    } 
    Collections.shuffle(randomArr); 

    for(int i=0; i<20; i++){ 
     //ImageView mImageplay = (ImageView)findViewById(R.id.image_play); 
     imageArr[i]=(ImageView)findViewById(id[randomArr.get(i)]); 
     //mImageplay.setImageResource(id[randomArr.get(i)]); 
    } 

在这里我有大小20个自定义图像49x49像素(小尺寸)的文件夹绘制的,我想dispaly在UI在同一时间以随机方式没有对齐。

问题出在imageArr [i]显示所有20个图像的NULL值,而“randomArr”显示正确的洗牌数据。

此外,有没有什么办法在布局区域随机查看它,因为我无法找到解决方案。

我感到很震惊,无法解决它。请帮我解决这个问题。

在此先感谢。 -pk

回答

1

你的阵列ID []包含R.drawable。值(您的应用程序中Drawables的ID)而不是R.id.(您的布局中的ImageViews的ID)。

在您的布局中设置android:id属性,并在您的id []数组中使用它们。

+0

感谢这部分... pcans。 – 2011-03-11 13:38:19

+0

我也期待在randon时尚加载屏幕上的所有图像,但没有得到任何支持android的布局资源。 – 2011-03-13 04:44:09