Я использую butterknife в течение нескольких месяцев, и я только что заметил в своей документации, что он говорит:Android: Почему нам нужно использовать R2 вместо R с butterknife?
Теперь убедитесь, что вы используете R2 вместо R внутри всех НОЖ аннотаций.
Почему это? Я использую R, и все работает отлично.
Я обнаружил, что значение ids в R2 для любых res (color, dimen, ...) такое же, как в R. только разница в R2 - это аннотация, подобная «@DrawableRes "и" @IdRes ", и использовал эту аннотацию, чтобы убедиться, что вы вернули правильный и ожидаемый тип. например, ожидается, что возвращаемое значение «@ColorRes» будет ссылкой на ресурс цвета, и ожидается, что возвращаемое значение «@DrawableRes» станет ссылочной ссылкой ресурса. – Sally
@Sally Итак, вы говорите, что если я использую R2, я получу ошибки времени компиляции в случае, если я попытаюсь привязать идентификатор к неправильному типу? – TheCrafter
Я исключил, что аннотации помогают нам улучшить проверку кода. Https://developer.android.com/studio/write/annotations.html – Sally