如何随机设置ImageButton?

时间:2017-02-19 00:11:25

标签: android random imagebutton

嘿伙计们我是Android新手.... 我有150张图像,我可以根据随机生成的ID将其中一个设置为ImageButton? 我开始是这样的:

rand = new Random(System.currentTimeMillis());
    x = rand.nextInt(3);
    y = rand.nextInt(8);
    z = rand.nextInt(10);
String myID = "R.id.myImage_" + x + y + z;

3 个答案:

答案 0 :(得分:1)

要在Android中为View生成随机ID,您可以使用generateViewId(),它是Android库中捆绑的View类中的一种方法,文档说: / p>

  

生成一个适合在setId(int)中使用的值。此值不会   与Aapt for R.id在生成时生成的ID值发生冲突。

查看官方文档here

因此,您现在可以执行以下操作:

    int imageCoordinates = x + y + z;
    int imageId = View.generateViewId() + imageCoordinates;

答案 1 :(得分:0)

您可以使用以下代码执行此操作:

int resource = getResources().getIdentifier(myID, "drawable", "com.your.package");

PS:取出" R.id."从名字。

答案 2 :(得分:0)

  1. 将图像重命名为image1,image2,...,image150。

  2. 生成1到150之间的随机数(包括两者)。

  3. 使用以下代码获取图片资源ID。 (如果已将图像放在mipmap文件夹中,请使用“mipmap”而不是“drawable”)

    String myID = "image"+ generatedRandomNumber;
    int resource = getResources().getIdentifier(myID, "drawable", "com.your.package");
    
  4. 使用此资源ID为ImageButton设置图片。