Java图像数组

Java图像数组,java,android,Java,Android,我正在尝试编写一个应用程序,在点击一个按钮后,它将根据一个种子(已经完成并且工作正常)生成一个特定范围内的数字,并显示一组可绘制图像。问题是我不知道如何显示Images[x]中的图像,而x是随机数 imageView = (ImageView) findViewById(R.id.quote1); imageView.setVisibility(View.INVISIBLE); imageView2 = (ImageView) findViewById(R.id.quot

我正在尝试编写一个应用程序,在点击一个按钮后,它将根据一个种子(已经完成并且工作正常)生成一个特定范围内的数字,并显示一组可绘制图像。问题是我不知道如何显示
Images[x]
中的图像,而
x
是随机数

    imageView = (ImageView) findViewById(R.id.quote1);
    imageView.setVisibility(View.INVISIBLE);
    imageView2 = (ImageView) findViewById(R.id.quote2);
    imageView2.setVisibility(View.INVISIBLE);

    int Images[] = {R.drawable.quote1, R.drawable.quote2};

    int data = dateInteger();
    int x = (int) RandomNumber(data);

    int currentImage = Images[x];


    // This is a previous method that I thought about.

    if (x > 5) {
        imageView.setVisibility(View.VISIBLE);
    }
    if (x < 5){
        imageView2.setVisibility(View.VISIBLE);
    }
imageView=(imageView)findViewById(R.id.quote1);
imageView.setVisibility(视图.不可见);
imageView2=(ImageView)findViewById(R.id.quote2);
imageView2.setVisibility(视图.不可见);
int Images[]={R.drawable.quote1,R.drawable.quote2};
int data=dateInteger();
int x=(int)随机数(数据);
int currentImage=Images[x];
//这是我以前考虑过的一种方法。
如果(x>5){
设置可见性(View.VISIBLE);
}
if(x<5){
imageView2.setVisibility(View.VISIBLE);
}

我认为您应该使用

getResources().getIdentifier(filename,"drawable", getPackageName());
然后

imageView.setImageResource(array[random.nextInt(range)]);

如果您询问如何为
ImageView
设置图像,则可以执行以下操作:

imageView.setImageResource(currentImage);

由于您的
Images
数组中只有两个索引,请确保您的
currentImage
变量(您的索引)仅为
0
1

我希望不断向数组中添加一些图像。我试过那句话,但它使应用程序崩溃了。我做错什么了吗?该应用程序的主要目的是每天显示一张随机图像。您是否将
imageView
添加到布局中?您可能想发布错误消息。是的,我发布了。错误消息指向int currentImage=Images[x];和imageView.setImageResource(currentImage);作为导致问题的行,我刚刚发现该行:无法启动活动ComponentInfo{com.example.palidon.myapplication/com.example.palidon.myapplication.DisplayImage}:java.lang.ArrayIndexOutOfBoundsException:length=2;指数=4。我在这里犯了一个愚蠢的错误,你的随机数对于你的
图像
数组大小来说太大了。您的索引值只能是
0
1