gpt4 book ai didi

java - 使用random时如何让每个ImageView显示不同的图片?安卓工作室

转载 作者:行者123 更新时间:2023-12-01 18:11:14 27 4
gpt4 key购买 nike

我随机设置了 4 张图像,但当我测试时,结果显示相同的图片。我希望每个 ImageView 都显示与其他图像不同的图像。

这是我的代码:

 final ImageButton imageButton=(ImageButton) findViewById(R.id.imageView);
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageButton.setVisibility(View.INVISIBLE);
pic1 = (ImageView) findViewById(R.id.imageView2);
pic2 = (ImageView) findViewById(R.id.imageView3);
pic3 = (ImageView) findViewById(R.id.imageView4);
pic4 = (ImageView) findViewById(R.id.imageView5);

Random rand = new Random();
int rndInt = rand.nextInt(4) + 1;
String imgName = "img" + rndInt;
int id = getResources().getIdentifier(imgName, "drawable", getPackageName());
pic1.setImageResource(id);
pic2.setImageResource(id);
pic3.setImageResource(id);
pic4.setImageResource(id);

}
});

最佳答案

这是我的答案,其他尝试仅显示 4 个不同的图像。我的解决方案规定,图像是随机的且不相同:

            final ImageButton imageButton=(ImageButton) findViewById(R.id.imageView);
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageButton.setVisibility(View.INVISIBLE);
pic1 = (ImageView) findViewById(R.id.imageView2);
pic2 = (ImageView) findViewById(R.id.imageView3);
pic3 = (ImageView) findViewById(R.id.imageView4);
pic4 = (ImageView) findViewById(R.id.imageView5);

ArrayList<Integer> imageIds= new ArrayList<>(Arrays.asList(1, 2, 3, 4))
Collections.shuffle(imageIds);

pic1.setImageResource(getResources().getIdentifier("img" + imageIds[0], "drawable", getPackageName()));
pic2.setImageResource(getResources().getIdentifier("img" + imageIds[1], "drawable", getPackageName()));
pic3.setImageResource(getResources().getIdentifier("img" + imageIds[2], "drawable", getPackageName()));
pic4.setImageResource(getResources().getIdentifier("img" + imageIds[3], "drawable", getPackageName()));

}
});

您也不必更改太多代码即可使其正常工作;)抱歉,我把所有东西都挤在一行里。但我真的很累,因为在德国已经快午夜了。

关于java - 使用random时如何让每个ImageView显示不同的图片?安卓工作室,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32831092/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com