我想知道如何在android中随机选择一个按钮。例如,有4个按钮,我希望应用程序从中随机选择一个按钮并对其执行一些操作。这是我的代码:
Button start;
ImageButton btn1, btn2, btn3, btn4, btn5;
Random random = new Random();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_memory);
start = (Button)findViewById(R.id.button1);
start.setOnClickListener(this);
btn1 = (ImageButton)findViewById(R.id.imageButton1);
btn2 = (ImageButton)findViewById(R.id.imageButton2);
btn3 = (ImageButton)findViewById(R.id.imageButton3);
btn4 = (ImageButton)findViewById(R.id.imageButton4);
}
ImageButton[] all= {btn1, btn2, btn3, btn4};
@Override
public void onClick(View v) {
if (v == start)
{
btn5 = all[random.nextInt(all.length)];
btn5.setBackgroundColor(Color.RED);
}
}
如果我更改为它,它可以完美工作,但是它将只是btn1而不是随机选择。
@Override
public void onClick(View v) {
if (v == start)
{
btn5 = btn1;
btn5.setBackgroundColor(Color.RED);
}
}
最佳答案
在设置all
等之后必须设置btn1
:否则,它将是null
的数组。
btn1 = (ImageButton)findViewById(R.id.imageButton1);
btn2 = (ImageButton)findViewById(R.id.imageButton2);
btn3 = (ImageButton)findViewById(R.id.imageButton3);
btn4 = (ImageButton)findViewById(R.id.imageButton4);
all= {btn1, btn2, btn3, btn4}; //here
}
ImageButton[] all; //not here
关于java - 如何在Android中随机选择按钮?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20883238/