Где вызвать метод bind и unbind в пользовательском представлении при использовании ButterKnife?
Я новичок в Android. Я написал собственное представление, но я просто не знаю, куда звонить bind
а также unbind
метод. Я искал эту документацию. И это, похоже, предлагает использовать bind
в onFinishInflate()
Перезвоните. Но я bind
представление в его функции конструктора и не происходит никакого сбоя. Это правильно? А как насчет unbind
? Я нахожу этот вопрос, он предлагает использовать unbind
в onDetachedFromWindow()
Перезвоните. Это требуется или необходимо?
public class BloodIndicatorView extends FrameLayout {
@Bind(R.id.ll_record_bloodpress)
LinearLayout llRecordBloodpress;
@Bind(R.id.ll_record_bloodsugar)
LinearLayout llRecordBloodsugar;
private Context mContext;
public BloodIndicatorView(Context context) {
this(context, null);
}
public BloodIndicatorView(Context context, AttributeSet attrs) {
this(context, attrs, -1);
}
public BloodIndicatorView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mContext = context;
init();
}
private void init() {
LayoutInflater.from(mContext).inflate(R.layout.health_blood_indicator, this);
ButterKnife.bind(this);
}
public void update() {
}
@OnClick(R.id.ll_record_bloodpress)
public void recordBloodpress() {
Intent intent = BloodPressActivity.getIntent2Act(mContext);
mContext.startActivity(intent);
}
@OnClick(R.id.ll_record_bloodsugar)
public void recordBloodsugar() {
Intent intent = BloodSugarActivity.getIntent2Act(mContext);
mContext.startActivity(intent);
}
}
1 ответ
Вы можете аннотировать представление внутри класса, которое вы делаете правильно, и, поскольку нет ошибки, означающей ButterKnife.bind(this); происходит правильно. И это не обязательно, чтобы отвязать это должно работать совершенно нормально.