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:
@Bindbecomes@BindViewand@BindViews(one view and multiple views, respectively).- Calls to
bindnow return anUnbinderinstance which can be used tonullreferences. This replaces theunbindAPI and adds support for being able to clear listeners.- New:
@BindArraybindsString,CharSequence, andintarrays andTypeArrayto fields.- New:
@BindBitmapbindsBitmapinstances from resources to fields.@BindDrawablenow supports atintfield 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:
applyoverloads which accept a single view and arrays of views.- ProGuard rules now ship inside of the library and are included automatically.
@Optionalannotation 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