Я хочу удалить обработчик события GWT при первом получении события. Я также хочу, чтобы не загрязнять мой класс объектами отслеживания, которые на самом деле не нужны. В настоящее время я кодирую его как:
final HandlerRegistration[] registrationRef = new HandlerRegistration[1]; registrationRef[0] = dialog.addFooHandler(new FooHandler() { public void onFoo(FooEvent event) { HandlerRegistration removeMe = registrationRef[0]; if(removeMe != null) { removeMe.removeHandler(); } // do stuff here } });
но использование registrationRef делает код менее читаемым. Есть ли лучший способ сделать это без добавления переменных в мой класс?