按下button2('dontKnowAnswer')后,我想禁止button1('knowAnswerButton')执行任何操作,直到setCurrentCard();从内部runOnUiThread被称为我做了全局布尔状态,这样做的工作,但它看起来像这个问题的真正丑陋的解决方案是否有任何模式如何做到这一点?在按下另一个按钮时暂停onClickListener
knowAnswerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (currentPosition > mTestDeck.size()){
//TO DO
// END
}
if (state == true) {
mTestDeck.correctAnswer();
currentPosition++;
setCurrentCard();
}
}
});
dontKnowAnswerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(currentPosition > mTestDeck.size()){
//TO DO
// END
}
myTextView.setText(currentCard.getBack());
currentPosition++;
state = false;
new Timer().schedule(new TimerTask() {
@Override
public void run() {
FlashCardActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
setCurrentCard();
state = true;
}
});
}
}, PAUSE_TIMER);
}
});
}