- New:
@InjectViews
annotation groups multiple IDs into aList
or array. - New:
ButterKnife.apply
method applies anAction
,Setter
, or AndroidProperty
to views in a list. - New listeners!
ViewPager
:@OnPageChange
.AdapterView
:@OnItemSelected
.TextView
:@OnTextChanged
.
- New: Multi-method listener support. Specify a
callback
argument to choose which method the binding is for. (See@OnItemSelected
for an example) - Fix: Support for generic types which are declared with an upper-bound.
- Fix: Use less sophisticated method injection inspection in the annotation processor. The previous method caused problems with some Eclipse configurations.
- Fix: Correct a problem preventing the annotation processor to access Android types when certain
javac
configurations were used to build.
Views
class is now named ButterKnife
- New listeners!
View
:@OnLongClick
and@OnFocusChanged
.TextView
:@OnEditorAction
.AdapterView
:@OnItemClick
and@OnItemLongClick
.CompoundButton
:@OnCheckedChanged
.
- New: Views are now only checked to be
null
once if at least one of the fields and/or methods lack the@Optional
annotation. - Fix: Do no emit redundant casts to
View
for methods.
- Fix: Do not emit redundant casts to
View
.
- New: Injections are now required. An exception will be thrown if a view is
not found. Add
@Optional
annotation to suppress this verification.
- New: Control debug logging via
Views.setDebug
.
- New:
@OnClick
annotation for binding click listeners to methods!
- New:
Views.reset
for settings injections back tonull
in a fragment'sonDestroyView
callback. - Fix: Support parent class injection when the parent class has generics.
- Multiple injections of the same view ID only require a single find call.
- Fix: Ensure injection happens on classes who do not have any injections but their superclasses do.
- Fix: Parent class inflater resolution now generates correct code.
- New: Injection on objects that have zero
@InjectView
-annotated fields will no longer throw an exception.
- Fix: Prevent annotations on private classes.
- Fix: Correct generated code for parent class inflation.
- Fix: Allow injection on
protected
-scoped fields.
- Support injection on any object using an Activity as the view root.
- Support injection on views for their children.
- Fix: Annotation errors now appear on the affected field in IDEs.
- Fix: Verify that the target type extends from
View
. - Fix: Correct package name resolution in Eclipse 4.2
- Perform injection on any object by passing a view root.
- Fix: Correct naming of static inner-class injection points.
- Fix: Enforce
findById
can only be used with child classes ofView
.
Initial release.