package Ġz lc . season . y ak sa Ċ Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . support . v 7 . widget . RecyclerView . NO _ POSITION Ċ import Ġandroid . support . v 7 . widget . St agger ed Grid LayoutManager Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġz lc . season . y ak sa . Y ak sa Adapter . Y ak sa ViewHolder Ċ Ċ class ĠY ak sa Adapter Ġ: ĠRecyclerView . Adapter < Y ak sa ViewHolder >() Ġ{ ĊĠĠĠ Ġinternal Ġval Ġdata : ĠMutable List < Y ak sa Item > Ġ= Ġmutable ListOf () ĊĊĠĠĠ Ġfun Ġsubmit List ( list : ĠList < Y ak sa Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . clear () ĊĠĠĠĠĠĠĠ Ġdata . addAll ( list ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdata . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdata [ position ]. xml () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġres Id : ĠInt ): ĠY ak sa ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠY ak sa ViewHolder ( inflate ( parent , Ġres Id )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠY ak sa ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata [ position ]. render ( position , Ġholder . item View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Attached To Window ( holder : ĠY ak sa ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Attached To Window ( holder ) ĊĠĠĠĠĠĠĠ Ġif Ġ( holder . adapter Position Ġ!= ĠNO _ POSITION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata [ holder . adapter Position ]. on Item Attach Window ( holder . adapter Position , Ġholder . item View ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Detached From Window ( holder : ĠY ak sa ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Detached From Window ( holder ) ĊĠĠĠĠĠĠĠ Ġif Ġ( holder . adapter Position Ġ!= ĠNO _ POSITION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata [ holder . adapter Position ]. on Item Detach Window ( holder . adapter Position , Ġholder . item View ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Re cyc led ( holder : ĠY ak sa ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Re cyc led ( holder ) ĊĠĠĠĠĠĠĠ Ġif Ġ( holder . adapter Position Ġ!= ĠNO _ POSITION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata [ holder . adapter Position ]. on Item Re cyc led ( holder . adapter Position , Ġholder . item View ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinf late ( parent : ĠViewGroup , Ġres Id : ĠInt ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLayoutInflater . from ( parent . context ). inflate ( res Id , Ġparent , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠY ak sa ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ċ }