Slide 31
Slide 31 text
Custom View Inflation
public class CustomView extends LinearLayout implements CustomViewHandler {
private LayoutCustomViewBinding binding;
private CustomViewModel model = new CustomViewModel()
public CustomView(Context context) {
this(context, null);
}
public CustomView(Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
public CustomView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context);
}
@Override
public void init(Context context) {
final LayoutInflater inflater =
(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
binding = LayoutCustomViewBinding.inflate(inflater, this, true);
binding.setModel(model);
binding.setHandler(this);
}
@Override
public void onCustomViewClicked() {
Toast.makeText(this, “Hello", Toast.LENGTH_SHORT).show();
}
}