【发布时间】:2014-05-04 11:04:04
【问题描述】:
我有一些需要帮助的代码。我对这段代码的计划很简单。我有 3 个buttons,它们是yellowBar、greenBar 和redBar。我也有 3 张黄色、绿色和红色的图像。我想做的是当我启动我的应用程序时,我的图像会随机弹出,无论出现哪种颜色,我都应该能够单击具有相应颜色的按钮。我也有时间,所以基本上我想尽可能的正确点击,但是我的代码只运行一次。我的时间继续减少,但这段代码只运行一次。我该如何解决这个问题,以便它会继续弹出随机彩色图像,直到时间用完?
while(gameTime > 0){
colorNum = new Random();
colorNumber = colorNum.nextInt(2);
switch (colorNumber){
case 0: colors.setDisplayedChild(0);
break;
case 1: colors.setDisplayedChild(1);
break;
case 2: colors.setDisplayedChild(2);
break;
}
colors.setVisibility(View.VISIBLE);
yellowBar.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if(colorNumber == 0){
points ++;
score.setText(String.valueOf(points));
}
}
});
greenBar.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if(colorNumber == 1){
points ++;
score.setText(String.valueOf(points));
}
}
});
redBar.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if(colorNumber == 2){
points++;
score.setText(String.valueOf(points));
}
}
});
}
【问题讨论】:
-
最好只调用一次setOnClickListener
-
如果我需要三个变量来使用 setOnClickListener,我该怎么做?
-
我的意思是你在 while 循环中调用该方法,这会导致该方法在每个不必要的循环中都被调用。
标签: java android eclipse onclicklistener