studio jakewharton butter android android-studio gradle android-gradle butterknife

android - studio - implementation com jakewharton butterknife 7.0 1



Butter Knife-Inject en Android lib (5)

He experimentado el mismo problema. Obtuve este error cada vez que escribía.

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

o cualquier otra sintaxis similar para una vista.

La razón para obtener este error fue que el archivo R que se importó en mi archivo java era del paquete diferente.

Ahora la pregunta es por qué el archivo R importado era de un paquete diferente.

Fue porque estaba usando mi proyecto como biblioteca en el otro proyecto. Y al hacer la biblioteca di un nombre de paquete diferente.

Trabajo en Android Studio con Gradle.

Mi problema es Campos no constantes en las etiquetas de casos .

Cuando uso Butter Knife en Android lib, aparece el siguiente error:

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

¿Alguien ha experimentado el mismo problema, y ​​si es así, tiene una solución para ello?




De acuerdo con https://github.com/JakeWharton/butterknife

Proyectos de biblioteca

Para usar Butter Knife en una biblioteca, agrega el complemento a tu buildscript:

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

y luego aplicarlo en tu módulo:

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

Ahora asegúrate de usar R2 en lugar de R dentro de todas las anotaciones de Butter Knife.

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

Por lo tanto, ahora es posible usar Butterknife en libs de Android.

Espero que ayude