如何通过使用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)]);
}
});
}
}
提前致谢
答案 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))