Uso de la biblioteca de Butter Knife para ver la inyección
Que estoy haciendo
- Estoy tratando de ejecutar la biblioteca cuchillo de mantequilla para mi proyecto simple
- He seguido todos los pasos de la documentación, pero todavía estoy recibiendo errores de registro
- ¿Cómo puedo resolver esto, estoy perdiendo cualquier paso
- También he añadido el tarro en la carpeta libs
MainActivity.java
- Butterknife @InjectView problema después de la actualización a 7
- ¿Cuál es la diferencia entre `@ Bind` y` @BindView` en butterknife?
- GetSupportActionBar (barra de herramientas) lanza la excepción de puntero nulo con Butterknife para la barra de herramientas
- ButterKnife onClick vista personalizada
- Butterknife no encuentra vistas desde el módulo de la Biblioteca de Android
package com.example.butterknife; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; import butterknife.ButterKnife; import butterknife.InjectView; public class MainActivity extends Activity { @InjectView(R.id.txtID) TextView title; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.inject(this); title.setText("Hello Everyone !!"); } }
Registro
04-15 11:50:57.845: E/AndroidRuntime(913): FATAL EXCEPTION: main 04-15 11:50:57.845: E/AndroidRuntime(913): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.butterknife/com.example.butterknife.MainActivity}: java.lang.NullPointerException 04-15 11:50:57.845: E/AndroidRuntime(913): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955) 04-15 11:50:57.845: E/AndroidRuntime(913): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980) 04-15 11:50:57.845: E/AndroidRuntime(913): at android.app.ActivityThread.access$600(ActivityThread.java:122) 04-15 11:50:57.845: E/AndroidRuntime(913): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146) 04-15 11:50:57.845: E/AndroidRuntime(913): at android.os.Handler.dispatchMessage(Handler.java:99) 04-15 11:50:57.845: E/AndroidRuntime(913): at android.os.Looper.loop(Looper.java:137) 04-15 11:50:57.845: E/AndroidRuntime(913): at android.app.ActivityThread.main(ActivityThread.java:4340) 04-15 11:50:57.845: E/AndroidRuntime(913): at java.lang.reflect.Method.invokeNative(Native Method) 04-15 11:50:57.845: E/AndroidRuntime(913): at java.lang.reflect.Method.invoke(Method.java:511) 04-15 11:50:57.845: E/AndroidRuntime(913): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 04-15 11:50:57.845: E/AndroidRuntime(913): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 04-15 11:50:57.845: E/AndroidRuntime(913): at dalvik.system.NativeStart.main(Native Method) 04-15 11:50:57.845: E/AndroidRuntime(913): Caused by: java.lang.NullPointerException 04-15 11:50:57.845: E/AndroidRuntime(913): at com.example.butterknife.MainActivity.onCreate(MainActivity.java:19) 04-15 11:50:57.845: E/AndroidRuntime(913): at android.app.Activity.performCreate(Activity.java:4465) 04-15 11:50:57.845: E/AndroidRuntime(913): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 04-15 11:50:57.845: E/AndroidRuntime(913): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919) 04-15 11:50:57.845: E/AndroidRuntime(913): ... 11 more 04-15 11:51:06.722: I/Process(913): Sending signal. PID: 913 SIG: 9
- Butterknife no puede enlazar dentro de mi Clase de Adaptador
- Bind ButterKnife a diálogo falla
- método "onClick" en butterknife no es un trabajo?
- @OnClick no está trabajando en la implementación de ButterKnife Library
- No se puede encontrar la clase de símbolo en el código generado por Butter Knife
- Usando Butterknife para inyectar una serie de vistas
- Butterknife: desactivar temporalmente el oyente
- ¿Por qué no se puede vincular varias vistas a un propietario?
Siga estos pasos [en Eclipse IDE]:
1) Haga clic derecho en su proyecto conEn Package Explorer. Got to Java Compiler
-> Annotation Processing
y marque la Enable project specific settings
.
2) Amplíe la sección Annotation Processing
y seleccione Factory Path
. Marque Enable project specific settings
y, a continuación, haga clic en Add JARs
Vaya a la librería / carpeta del proyecto y seleccione el tarro ButterKnife
.
3) Haga clic en Ok
para guardar la nueva configuración. Eclipse
le pedirá que reconstruya su proyecto al que debe hacer clic en Yes
.
Nota: Asegúrese de que la carpeta .apt_generated/
está en la raíz del proyecto. Debe contener archivos como YOURACTIVITY$$ViewInjector.java
. Si estos archivos no están presentes desencadenar una construcción limpia por Proyecto seleccionado → Limpiar. Esta carpeta y los archivos no se deben comprobar en el control de revisión.
Referencia -> Configurar la configuración manual de las anotaciones de ButterKnife
IntelliJ IDEA – Si su proyecto utiliza una configuración externa (como un Maven pom.xml), el proceso de anotación debería funcionar.
Sigue estos pasos :
- Abra la preferencia de IDEA:
File
->Other Settings
->Default Settings
- Navegue hasta
Compiler
->Annotation Processors
A continuación, marqueEnable annotation processing
Referencia -> Configurar la configuración manual de las anotaciones de ButterKnife
Actualización 30-6-2015
Siga estos pasos para Intellij
IDEA 14.0:
-
Abra la preferencia de IDEA:
File
->Settings
o haga clic enctl + alt + s
-
Navegue hasta
Build, Execution and deployment
->Compiler
->Annotation Processors
y elija su proyecto A continuación, marqueEnable annotation processing
@Bind reemplaza @InjectView y @InjectViews. ButterKnife.bind y ButterKnife.unbind sustituyen ButterKnife.inject y ButterKnife.reset, respectivamente.
Mira esto: @InjectView reemplazado …
- Cómo evitar la clonación de etiquetas NFC?
- ¿Cuál es la diferencia de invoke-virtual e invoke-direct en android