如何在1 imagesView上获得随机图像?

时间:2013-10-01 17:08:01

标签: android

如何通过使用1个imageView来获取随机图像?

这是我的java代码,它仍然不起作用,请有人请帮助我。

public class Gameplay extends Activity
{

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.gameplay);

    final int[] images = {
            R.drawable.easy1, R.drawable.easy2};

    final ImageButton shuffle = (ImageButton) findViewById(R.id.imageView1); 
    shuffle.setOnClickListener(new View.OnClickListener() 
    {
        public void onClick(View view) 
        {        
            Random generator = new Random();

            ImageView singleImageView = (ImageView) findViewById(R.id.imageView1);
            singleImageView.setImageResource(images[generator.nextInt(images.length - 1)]);
        }
    });     

}

}

提前致谢

3 个答案:

答案 0 :(得分:0)

您显示的代码仍然可以解决您的问题,您的问题是如何从给定数组中获取随机图像。

images [generator.nextInt(images.length - 1):每次都可以获得随机图像,在图像视图中显示。

答案 1 :(得分:0)

如果我错了,请纠正我,但我认为你要求一次在屏幕上显示一个ImageView,并且你只想分配一个ImageView并用一个随机图像替换图像在您的应用中的时间。为此,您可以简单地分配单个图像视图(只需在视图中放置一个imageView)并使用imageview.setImageResource,如下所示:

ImageView singleImageView = (ImageView) findViewById(R.id.single_image_view)
singleImageView.setImageResource(images[generator.nextInt(images.length - 1)];

答案 2 :(得分:0)

在您的情况下,generator.nextInt(images.length - 1)generator.nextInt(1)等效,因此始终返回0,因为Random.nextInt(int)

  

返回:   下一个伪随机数,从该随机数生成器的序列中均匀分布的0值(包括)和n(异或)之间的值

http://docs.oracle.com/javase/6/docs/api/java/util/Random.html#nextInt(int)