如何从数组中获取第一个数字并对其执行操作

时间:2015-11-27 20:48:01

标签: java android arrays

我在开始时生成少量随机数4,然后如果用户选择其下一个选项(级别)5,依此类推......我正在研究如何检查数组中第一个生成的数字是什么并执行动作,然后在该动作完成后移动到数组中的第二个数字,依此类推。 生成的数字总是1到4,但它们的数量会发生变化。

ImageButton 1= (ImageButton) findViewById(R.id.imageButton1);
ImageButton 2= (ImageButton) findViewById(R.id.imageButton2);
ImageButton 3= (ImageButton) findViewById(R.id.imageButton3);
ImageButton 4= (ImageButton) findViewById(R.id.imageButton4);

↑这些是我想要突出显示的图像按钮,具体取决于数组中的第一个数字 所以我们说生成的4个数字是[2,1,2,4] 我想要

2.setBackgroundColor(0xFF7D0000);  
1.setBackgroundColor(0xFFF000);
2.setBackgroundColor(0xFF7D0000);
4.setBackgroundColor(0x0000FF);

我希望上面的颜色改变1秒,然后移动到阵列中的下一个颜色。

这里是生成数字的位置以及代码的位置

int value;
        TextView textTest = (TextView)findViewById(R.id.textViewTesting);

        StringBuilder builder = new StringBuilder();

        int[] NumbersArray = new int[20];

        for (int num = 0; num < 4 +temp; num++) 
{
            value = (int) (Math.random() * 4 + 1);

            builder.append(value + " ");
            textTest.setText(builder.toString());
            NumbersArray[num] = value;
            System.out.println(NumbersArray[num]);
}

1 个答案:

答案 0 :(得分:2)

数值不是有效的变量名,

 ImageButton 1= (ImageButton) findViewById(R.id.imageButton1);

无效。

试试这个:

ArrayList<ImageButton> listOfButtons = new ArrayList<ImageButton>();


//adds R.id.imageButton1 at first position of your list
listOfButtons.add((ImageButton) findViewById(R.id.imageButton1));

//adds R.id.imageButton5 at second position of your list
listOfButtons.add((ImageButton) findViewById(R.id.imageButton5));

//adds R.id.imageButton3 at thirdposition of your list
listOfButtons.add((ImageButton) findViewById(R.id.imageButton3));


//firstItem is R.id.imageButton1
ImageButton firstItem = listOfButtons.get(0);

//secondItem is R.id.imageButton5
ImageButton secondItem = listOfButtons.get(1);
....
int index;//index should never exceed list size
....
ImageButton selectedByIndex = listOfButtons.get(index);