sqlite 데이터베이스의 일부 용어와 함께 8 쌍의 버튼 (총 16 개)이 있습니다. 사용자가 8 쌍 (맞거나 틀린, 중요하지 않음)을 연결하여 게임을 끝내고 끝에 팝업이 필요한 경우가 필요합니다. 내 코드에 < 카운터 7을 배치하면 8 쌍이 연결되어 일부 버튼 (17 클릭)을 한 번 더 클릭해야합니다. < 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);
}
}
};
무엇이 카운터를 초기화 했습니까? –
개인 int 카운터 = 0; – marjanbaz