I Just started using butterknife.
In the project, colleagues using butterknife, version is 7.0.0.
I saw him write @Bind(R.id.tv_name)
.
But I see butterknife official website butterknife version is 8.0.1, syntax is @BindView(R.id.tv_name)
Is syntax changed ? or both can be used ? or something else ?
What is the difference between them ?
I not find the answer on the Internet
I hope everyone's help, thx !
Yes, the only difference between those keywords is that @Bind
was renamed to @BindView
in v8.0.0.
Please note that ButterKnife.unbind()
was removed, and replaced with an Unbinder
that's returned by bind()
so that no external view references are retained.
Yup, the syntax changed in the version 8.0.
You can check the changelog here: https://github.com/JakeWharton/butterknife/blob/master/CHANGELOG.md#version-800-2016-04-25 to see al the changes. But from 7.X to 8.X the changelog is:
@Bind
becomes@BindView
and@BindViews
(one view and multiple views, respectively).- Calls to
bind
now return anUnbinder
instance which can be used tonull
references. This replaces theunbind
API and adds support for being able to clear listeners.- New:
@BindArray
bindsString
,CharSequence
, andint
arrays andTypeArray
to fields.- New:
@BindBitmap
bindsBitmap
instances from resources to fields.@BindDrawable
now supports atint
field which accepts a theme attribute.The runtime and compiler are now split into two artifacts.
compile 'com.jakewharton:butterknife:8.0.0'
apt 'com.jakewharton:butterknife-compiler:8.0.0'
New:
apply
overloads which accept a single view and arrays of views.- ProGuard rules now ship inside of the library and are included automatically.
@Optional
annotation is back to mark methods as being optional.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With