package Ġo sp . le ob ert . android . pand or as ample . widget Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġo sp . le ob ert . android . pand ora . rv . DataSet Ċ import Ġo sp . le ob ert . android . pand ora . rv . I ViewHolder Ċ import Ġo sp . le ob ert . android . pand ora . rv . ViewHolder Creator Ċ import Ġo sp . le ob ert . android . pand or as ample . R Ċ import Ġo sp . le ob ert . android . pand or as ample . databinding . App Vh Banner Binding Ċ import Ġo sp . le ob ert . android . pand or as ample . dv h . Data Binding ViewHolder Ċ Ċ interface ĠBanner VO 2 Ġ: ĠDataSet . Data Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġset To ViewHolder ( view Holder : ĠI ViewHolder < DataSet . Data > ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewHolder ?. setData ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠV O Ġ: ĠBanner VO 2 Ċ } Ċ Ċ class ĠBanner VH Creator ( private Ġval Ġitem Interact : ĠBanner Item Interact ?) Ġ: ĠViewHolder Creator () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ViewHolder ( parent : ĠViewGroup ): ĠData Binding ViewHolder < Banner VO 2 , ĠApp Vh Banner Binding > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠData Binding Util . inflate < App Vh Banner Binding >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . app _ vh _ banner , Ġparent , Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġv h Ġ= Ġobject Ġ: ĠData Binding ViewHolder < Banner VO 2 , ĠApp Vh Banner Binding >( binding ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġm Data : ĠBanner VO 2 ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠsetData ( data : ĠBanner VO 2 ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . setData ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Data Ġ= Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . vo Ġ= Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . execute Pending Bindings () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . vh Ġ= Ġv h ĊĠĠĠĠĠĠĠ Ġbinding . item Interact Ġ= Ġitem Interact ĊĊĠĠĠĠĠĠĠ Ġreturn Ġv h ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ interface ĠBanner Item Interact Ġ{ ĊĠĠĠ Ġ// TODO : Ġdefine Ġinteract Ġfunctions Ġhere Ċ } ĊĊĊ