Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Butter Knife – Inyectar en la librería de Android

Trabajo en Android Studio con Gradle.

Mi problema es campos no constantes en las etiquetas de caso .

Cuando utilizo Butter Knife en la librería de Android, obtengo 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?

  • Cómo establecer la variable de acuerdo con los sabores gradle
  • Campos personalizados para un tipo de compilación en gradle
  • Android nuevo sistema de construcción (gradle) y aspectoj
  • Ejecutar script de shell en Gradle
  • Android Studio - processDebugResources ha fallado
  • Error JSON.simple: java.util.zip.ZipException: entrada duplicada: org / hamcrest / BaseDescription.class
  • Android Studio - tarea de gradle para ejecutar después de SYNC
  • No pudo encontrar el objetivo con la cadena de hash android-23
  • 5 Solutions collect form web for “Butter Knife – Inyectar en la librería de Android”

    Butterknife no admite proyectos de biblioteca en este momento, consulte https://github.com/JakeWharton/butterknife/issues/100 para obtener más información.

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

    Proyectos de biblioteca

    Para usar Butter Knife en una biblioteca, agregue el complemento a su buildscript:

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

    Y luego aplicarlo en su módulo:

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

    Ahora asegúrese 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; ... } 

    Así que ahora es posible utilizar Butterknife inyecta en libs de Android.

    Espero que ayude

    Si su Fragmento está en un proyecto de la Biblioteca de Android, lea esto:

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

    La página oficial de github tiene la solución: https://github.com/JakeWharton/butterknife

    Pero cuando obedeció los pasos para configurar mi proyecto de biblioteca, fui a algunos problemas, como NullPointerException, las funciones marcadas por annontion @onClick no se invocaron cuando se hizo clic en las vistas, etc.

    Luego cambié algunas cosas, y finalmente lo logré. Consulte esto: http://blog.csdn.net/ytzys/article/details/53243438

    He experimentado el mismo problema. Estaba recibiendo este error cada vez que escribí.

     @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 una biblioteca en el otro proyecto. Y al hacer la biblioteca le di un nombre de paquete diferente.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.