Android: почему мы должны использовать R2 вместо R с ножом?
Я пользуюсь Butterknife в течение нескольких месяцев, и я просто заметил в документации, что он говорит:
Теперь убедитесь, что вы используете R2 вместо R во всех аннотациях Butter Knife.
Это почему? Я использую R, и все работает отлично.
1 ответ
Использование R2 необходимо только для создания проектов библиотеки Android.
https://github.com/JakeWharton/butterknife
Это связано с тем, что значения в сгенерированном классе R.java не объявляются как "окончательные" при сборке в составе библиотеки. Для аннотаций, используемых для @BindView(), эти значения R. должны быть окончательными и не подлежать изменению в дальнейшем.
Я уверен, что кто-то мог бы объяснить все это лучше - но суть в том, что - вы просто прекрасно используете "R." значения в @BindView в приложении Android