android - @OnClick array with optional ids (ButterKnife) -
i have activity inflates view when web request finished. of widgets of view have attached 1 onclick
method, have:
@onclick({r.id.bt1, r.id.bt2, r.id.inflated_bt1, r.id.inflated_bt2}) public void onclick(view view) { // ... }
as r.id.inflated_bt1
, r.id.inflated_bt2
don't exist when app created, throws exception suggesting set @optional
annotation.
required view 'inflated_bt1' id xxxxxxxx method 'onclick' not found. if view optional add '@optional' annotation.
is there way set of views @optional
annotation , inject them when view inflated? or, there way it?
thank you
the correct answer use @nullable
annotation. see butterknife home page. usage example:
import android.support.annotation.nullable; @nullable @onclick(r.id.maybe_missing) void onmaybemissingclicked() { // todo ... }
edit:
in year since wrote answer , accepted, butterknife docs changed, , current preferred method accomplishing use @optional
annotation. since accepted answer, feel important update address current practice. example:
import butterknife.optional; @optional @onclick(r.id.maybe_missing) void onmaybemissingclicked() { // todo ... }
Comments
Post a Comment