首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >遍历ImageViews并设置随机可绘制和可见性

遍历ImageViews并设置随机可绘制和可见性
EN

Stack Overflow用户
提问于 2018-12-01 14:28:48
回答 1查看 36关注 0票数 0

我做了一个小游戏,在ImageViews中迭代有问题。

我有12 ImageViews,它应该没有随机显示苹果,一个绿色或一个红色苹果。

如何迭代ImageViews并设置可见性和可绘制性?应用程序崩溃:“应用程序已经停止”

代码语言:javascript
运行
复制
    void shuffleApples() {

    ImageView[] apples = new ImageView[12];
    apples[0] = img_apple1;
    apples[1] = img_apple2;
    apples[2] = img_apple3;
    apples[3] = img_apple4;
    apples[4] = img_apple5;
    apples[5] = img_apple6;
    apples[6] = img_apple7;
    apples[7] = img_apple8;
    apples[8] = img_apple9;
    apples[9] = img_apple10;
    apples[10] = img_apple11;
    apples[11] = img_apple12;

    for(int i = 0; i < apples.length; i++) {
        Random randomAppleVisibility = new Random();
        Random randomAppleColor = new Random();
        int appleVisibility = randomAppleVisibility.nextInt(0);
        int appleColor = randomAppleColor.nextInt(0);

        if(appleVisibility==0) {
            apples[i].setVisibility(View.GONE);
        }
        else {
            if(appleColor==0) {
                apples[i].setImageResource(R.drawable.apple_red);
                redApples++;
            }
            else {
                apples[i].setImageResource(R.drawable.apple_green);
                greenApples++;
            }
        }
    }
}

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-01 15:01:24

如果要生成01的随机整数值,请执行以下操作:

代码语言:javascript
运行
复制
int appleVisibility = randomAppleVisibility.nextInt(2);
int appleColor = randomAppleColor.nextInt(2);

代码语言:javascript
运行
复制
nextInt(0) 

抛出一个java.lang.IllegalArgumentException,因为参数必须是正数。

关于nextInt()

返回一个伪随机,在0(包括)和指定值(排他)之间均匀分布的int值。

你应该考虑把这几行:

代码语言:javascript
运行
复制
Random randomAppleVisibility = new Random();
Random randomAppleColor = new Random();

for循环之前。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53571758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档