gpt4 book ai didi

java - 计数器计数不正确

转载 作者:行者123 更新时间:2023-12-01 14:40:39 25 4
gpt4 key购买 nike

我有 8 对按钮(总共 16 个),其中一些术语来自 sqlite 数据库。我需要当用户连接 8 对(正确或错误,没关系)时结束游戏,最后弹出一些窗口。当我在代码中放置 counter<7 时,我需要连接 8 对加上再次单击某些按钮(17 次单击)。如果我输入 counter<6,那么我会在 7 对和一次单击(15 单击)后收到弹出窗口。我不明白这个逻辑。所以这是代码:

final OnClickListener clickListener = new OnClickListener() {

private Button buttonClicked;

public void onClick(View v) {
if (counter < 7) {
Button button = (Button) v;
button.getBackground()
.setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x003333));

if (buttonClicked == null) {
// first button is clicked
buttonClicked = button;

// only do stuff if buttons are in different layouts
} else {
if (!button.getParent().equals(buttonClicked.getParent())) {
// second button is clicked

if (buttonClicked.getTag().equals(button.getTag())) {

// second button is clicked and same tag but different button

Toast.makeText(Spojnice.this, "Correct", Toast.LENGTH_SHORT).show();
button.getBackground()
.setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x66FF33));
buttonClicked.getBackground().setColorFilter(
new LightingColorFilter(0xFFFFFFFF, 0x66FF33));
buttonClicked.setEnabled(false);
button.setEnabled(false);
buttonClicked = null;
score.setText("Poeni: " + brojPoenaSpojnice);
counter++;
} else {
counter++;
//reset LightingColorFilter first
button.setEnabled(false);
Toast.makeText(Spojnice.this, "Wrong", Toast.LENGTH_SHORT).show();
buttonClicked = null;

}

} else {
//same button clicked show message or un toggle?

buttonClicked = button;
}
}
} else {
Intent i = new Intent(Spojnice.this, Popup_spojnice.class);
startActivity(i);
mHandler.postDelayed(mLaunchTask, 6500);
}
}

};

最佳答案

由于您首先检查计数器,然后递增它,因此在连接 7 对后,您的计数器将为 6(仍然 <7)。下次你增加计数器时,它将是 7,并且你的第一个条件将为 false,但只会在下一轮中再次检查。

要解决这个问题,您应该在增加计数器之后检查条件 ( if (counter < 7) ),而不是之前。

关于java - 计数器计数不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15993838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com