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