What is the difference between `@Bind` and `@BindView` in butterknife?

只愿长相守 提交于 2019-12-10 02:38:17

问题


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 !


回答1:


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 an Unbinder instance which can be used to null references. This replaces the unbind API and adds support for being able to clear listeners.
  • New: @BindArray binds String, CharSequence, and int arrays and TypeArray to fields.
  • New: @BindBitmap binds Bitmap instances from resources to fields.
  • @BindDrawable now supports a tint 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.



回答2:


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.



来源:https://stackoverflow.com/questions/37662171/what-is-the-difference-between-bind-and-bindview-in-butterknife

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!