#java #gwt
#java #gwt
Вопрос:
Я использую обработчик ввода для добавления и удаления обработчиков событий в зависимости от строкового значения текстового поля. Я бы не хотел добавлять или удалять обработчик событий при каждом нажатии клавиши up. Как мне сначала проверить, существует ли обработчик уже?
HandlerRegistration firstHandler = null;
HandlerRegistration secondHandler = null;
public void onKeyUp(KeyUpEvent event) {
if (countSpaceChar(textBox.getText()) == 0) {
// code to check if MyFirstHandler is already attached?
firstHandler = textBox.addKeyUpHandler(new MyFirstHandler(this));
} if (countSpaceChar(textBox.getText()) == 1) {
firstHandler.removeHandler();
// code to check if MySecondHandler is already attached?
secondHandler = textBox.addKeyUpHandler(new MySecondHandler(this));
}
}
Ответ №1:
if (firstHandler != null)
выполнит задание, и когда вы удалите обработчик, аннулируйте его регистрацию:
firstHandler.removeHandler();
firstHandler = null;