我在开始时生成少量随机数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]);
}
答案 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);