I'm new to Android. I wrote a custom view, but I just don't know where to call the bind and unbind method. I have searched for this documentation. And it seemingly suggests to use bind in the onFinishInflate() callback. But I bind the view in its constructor function and there is no crash any way. Is it correct? And how about the unbind? I find this question, it suggests to use unbind in the onDetachedFromWindow() callback. Is it required or necessary?
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);
}
}