Butter Knife – Inject на Android lib

Я работаю над Android Studio с Gradle.

Моя проблема – непостоянные поля в ярлыках случая .

Когда я использую Butter Knife в Android lib, я получаю следующую ошибку:

tutuFragment.java:31: error: attribute value must be constant @InjectView(R.id.noContactTV) 

Кто-нибудь испытал одну и ту же проблему, и если да, у вас есть решение?

Solutions Collecting From Web of "Butter Knife – Inject на Android lib"

Butterknife не поддерживает библиотечные проекты в настоящее время, обратитесь к https://github.com/JakeWharton/butterknife/issues/100 за дополнительной информацией.

Согласно https://github.com/JakeWharton/butterknife

Библиотечные проекты

Чтобы использовать Butter Knife в библиотеке, добавьте плагин в свойстрочный скрипт:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0' } } 

А затем примените его в своем модуле:

 apply plugin: 'com.android.library' apply plugin: 'com.jakewharton.butterknife' 

Теперь убедитесь, что вы используете R2 вместо R внутри всех аннотаций Butter Knife.

 class ExampleActivity extends Activity { @BindView(R2.id.user) EditText username; @BindView(R2.id.pass) EditText password; ... } 

Так что теперь можно использовать Butterknife инъекций в Android-приложениях.

Надеюсь, это поможет

Если ваш фрагмент находится в проекте библиотеки Android, прочитайте следующее:

https://github.com/excilys/androidannotations/wiki/Library-projects

Официальная страница github имеет решение: https://github.com/JakeWharton/butterknife

Но когда я выполнил шаги по настройке моего проекта библиотеки, я перешел к некоторым проблемам, таким как NullPointerException, функции, отмеченные аннотацией @onClick, не были вызваны при нажатии на представления и т. Д.

Затем я изменил что-то и, наконец, сделал это. См. Следующее : http://blog.csdn.net/ytzys/article/details/53243438

Я столкнулся с той же проблемой. Я получал эту ошибку, когда писал.

 @BindView(R.id.pager) ViewPager pager; 

Или любой другой подобный синтаксис для представления.

Причина получения этой ошибки заключалась в том, что файл R, который был импортирован в мой java-файл, был из другого пакета.

Теперь возникает вопрос, почему импортированный R-файл был из другого пакета?

Это потому, что я использовал свой проект в качестве библиотеки в другом проекте. И при создании библиотеки я дал другое имя пакета.