如何在Android上显示随机图片?

3

我有很多图片在我的目录中。 我想在ANDROID中显示随机图片。 请任何人为我提供一个例子。

3个回答

6
假设您的图像命名为img1.png,img2.png等,并且它们位于res / drawable文件夹中。
然后,您可以使用以下代码在ImageView中随机设置图像。
ImageView imgView = new ImageView(this);
Random rand = new Random();
int rndInt = rand.nextInt(n) + 1; // n = the number of images, that start at idx 1
String imgName = "img" + rndInt;
int id = getResources().getIdentifier(imgName, "drawable", getPackageName());  
imgView.setImageResource(id); 

嗨,这个工作做得很好...你能告诉我如何每次获取唯一的图像吗?我的意思是,如果我给出n = 7,并且仅调用此函数7次,每次它都应该给出一个唯一的图像?我该怎么做?谢谢。 - Shishir.bobby
Random是一个随机生成器,每次运行nextInt()时应该给出0..n-1之间的随机数。如果你有名为img1、img2、... img7的文件,则它应该给出一张随机图片。如果你只想调用这个方法7次,那么你应该实现一个方法,它将给你一个1..7的随机排列,然后根据排列中的顺序显示图片。 - Itsik

1

我没有例子,但我可以给你提供一个想法。

  1. 在数组中建立图像列表
  2. 生成0到1之间的随机数,小于文件夹中图像数量
  3. 使用步骤2中的随机数作为数组的索引,并选择要显示的图像。

-1 在数组中构建图像列表是多余的,所有图像 ID 都在类 R 中自动生成。这也不太易维护,每次添加图像时都需要将其添加到数组中。 - Itsik

1

你需要将一些东西结合起来。首先,你需要一个ImageView来在Android手机上显示图片。

然后,我建议你查看随机数生成器(例如http://docs.oracle.com/javase/6/docs/api/java/util/Random.html),这样你就可以获得一个随机数。

通过将这些东西结合起来,你可以从可用图片列表中随机选择一张图片,并使用ImageView显示它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接