¿Cuál es la diferencia entre `@ Bind` y` @BindView` en butterknife?
Acabo de empezar a usar butterknife.
En el proyecto, los colegas que utilizan butterknife, la versión es 7.0.0.
Lo vi escribir @Bind(R.id.tv_name)
.
Pero veo butterknife sitio web oficial versión butterknife es 8.0.1, la sintaxis es @BindView(R.id.tv_name)
- ButterKnife onClick vista personalizada
- ¿Por qué no se puede vincular varias vistas a un propietario?
- Bind ButterKnife a diálogo falla
- Android: ¿Por qué necesitamos usar R2 en lugar de R con butterknife?
- Android Butterknife - enlazado en fragmento
¿Se ha cambiado la sintaxis? O ambos pueden ser utilizados? o algo mas ?
Cuál es la diferencia entre ellos ?
No encuentro la respuesta en Internet
Espero la ayuda de todos, thx!
- @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
- ¿Por qué Butterknife no puede encontrar un ViewHolder dentro de una clase anónima?
- Butterknife enlaza SearchView desde el menú
- Butterknife no puede enlazar dentro de mi Clase de Adaptador
- Uso de la biblioteca de Butter Knife para ver la inyección
- Diferencia entre bind e injectionView en butterknife
- Uso de múltiples etiquetas <include /> en el diseño con ButterKnife
Yup, la sintaxis cambió en la versión 8.0.
Puede consultar el registro de cambios aquí: https://github.com/JakeWharton/butterknife/blob/master/CHANGELOG.md#version-800-2016-04-25 para ver los cambios. Pero de 7.X a 8.X el changelog es:
@Bind
convierte en@BindView
y@BindViews
(una vista y varias vistas, respectivamente).- Las llamadas a
bind
ahora devuelven una instancia deUnbinder
que puede utilizarse paraUnbinder
referencias. Esto reemplaza elunbind
API y agrega soporte para poder borrar los oyentes.- Nuevo:
@BindArray
enlazaString
,CharSequence
eint
arrays yTypeArray
a campos.- Nuevo:
@BindBitmap
vincula instancias deBitmap
de recursos a campos.@BindDrawable
ahora admite un campo detint
que acepta un atributo de tema.El tiempo de ejecución y el compilador ahora se dividen en dos artefactos.
compile 'com.jakewharton:butterknife:8.0.0'
apt 'com.jakewharton:butterknife-compiler:8.0.0'
Nuevo:
apply
sobrecargas que acepten una sola vista y arreglos de vistas.- Las reglas de ProGuard ahora se envían dentro de la biblioteca y se incluyen automáticamente.
@Optional
anotación está de vuelta a marcar métodos como opcional.
Sí, la única diferencia entre esas palabras clave es que @Bind
fue renombrado a @BindView
en v8.0.0.
Tenga en cuenta que ButterKnife.unbind()
fue eliminado y reemplazado por un Unbinder
devuelto por bind()
para que no se conserven referencias de vistas externas.