Я просматривал сгенерированный код ButterKnife и заметил, что для @OnClick
аннотаций используется DebouncingOnClickListener
, реализованный библиотекой.
Что делает DebouncingOnClickListener
, чтобы избежать более одного клика по любому элементу, использующему этот прослушиватель в одном и том же кадре (для этого они используют статический флаг). Вы можете увидеть реализацию здесь< /а>.
Я попытался найти объяснение, почему они решили использовать это для каждого события по клику, управляемого библиотекой, но не смог найти ни одного.
Итак, почему они используют это? Почему они решили, что это нужно каждому пользователю ButterKnife? Не должен ли пользователь решать использовать это или нет? Зачем связывать помощь привязки представления, которую он предоставляет, с этой «функцией»? Что произойдет, если я хочу получить более одного клика по одному и тому же кадру? Я не мог использовать ButterKnife для событий кликов.
Я не претендую на обиду, просто хочу пояснений, может я что-то упускаю.