package Ġcom . bo gd an . co def or ces watcher . e po xy Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Call Super Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġcom . air bnb . e po xy . E po xy Model Ċ Ċ abstract Ġclass ĠBase E po xy Model ( ĊĠĠĠ Ġ@ Layout Res Ġprivate Ġval Ġlayout Res : ĠInt Ċ ) Ġ: ĠE po xy Model < View >() Ġ{ ĊĊĠĠĠ Ġprotected Ġvar Ġbound View : ĠView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġfinal Ġoverride Ġfun Ġbuild View ( parent : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġsuper . build View ( parent ) ĊĠĠĠĠĠĠĠ Ġinit View ( view ) ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġafter Ġa Ġview Ġhas Ġbeen Ġcreated Ġby Ġ[ build View ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ** Important :** ĠMake Ġsure Ġthis Ġmethod Ġdoes Ġnot Ġreference Ġanything Ġfrom Ġthe Ġmodel Ġitself Ġ( via ĊĠĠĠĠ Ġ* Ġclick Ġlisteners Ġfor Ġinstance ), Ġas Ġthe Ġview Ġmight Ġbe Ġreused Ġby Ġother Ġinstances Ġof Ġthe Ġsame ĊĠĠĠĠ Ġ* Ġe po xy Ġmodel Ġclass . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġopen Ġfun Ġinit View ( view : ĠView ) Ġ{} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġbind ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . bind ( view ) ĊĠĠĠĠĠĠĠ Ġthis . bound View Ġ= Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġun bind ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . bound View Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . unbind ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetDefault Layout (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlayout Res ĊĠĠĠ Ġ} Ċ } Ċ