package Ġcom . github . ain ul . go jek Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . view pager . widget . Pager Adapter Ċ import Ġcom . github . ain ul . go jek . databinding . Intro Slider Item Binding Ċ Ċ class ĠIntro Slider Adapter ( private Ġval Ġdata : ĠList < Intro >, Ġprivate Ġval Ġcontext : ĠContext ) Ġ: ĊĠĠĠ ĠP ager Adapter () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Count () Ġ= Ġdata . size ĊĊĠĠĠ Ġoverride Ġfun Ġis View From Object ( view : ĠView , Ġ` object `: ĠAny ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġview Ġ== Ġ` object ` ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinstantiate Item ( container : ĠViewGroup , Ġposition : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= Ġdata [ position ] ĊĊĠĠĠĠĠĠĠ Ġ// Ġdefine Ġinflater Ġand Ġinf late Ġit Ġto Ġthe Ġbinding ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding : ĠIntro Slider Item Binding Ġ= ĠIntro Slider Item Binding . inflate ( in flater ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġset Ġdata Ġto Ġthe Ġview ĊĠĠĠĠĠĠĠ Ġbinding . p unch line . text Ġ= Ġe . title ĊĠĠĠĠĠĠĠ Ġbinding . description . text Ġ= Ġe . description ĊĠĠĠĠĠĠĠ Ġe . img Source ?. let Ġ{ Ġbinding . img Intro . setImage Resource ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġadd Ġview Ġto Ġthe Ġslider ĊĠĠĠĠĠĠĠ Ġcontainer . addView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdestroy Item ( container : ĠViewGroup , Ġposition : ĠInt , Ġ` object `: ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontainer . remove View (` object ` Ġas ĠView ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠIntro ( val Ġtitle : ĠString , Ġval Ġdescription : ĠString , Ġ@ Drawable Res Ġval Ġimg Source : ĠInt ? Ġ= ĠR . drawable . sample _ background 1 ) ĊĠĠĠ Ġ} Ċ }