package Ġcom . left . g ank . ui . dis covered . video Ċ Ċ import Ġandroid . business . domain . Solid Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . left . g ank . R Ċ import Ġkotlinx . android . synt hetic . main . adapter _ video . view .* Ċ Ċ /** Ċ Ġ* Ġ è§Ĩé¢ĳ Ċ Ġ* ĠCreate Ġby ĠL ing Y an Ġon Ġ 2 0 1 6 - 0 4 - 2 5 Ċ Ġ*/ Ċ class ĠVideo Adapter Ġ: ĠRecyclerView . Adapter < Video Adapter . G ank ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġval Ġresults Ġ= Ġmutable ListOf < Solid >() ĊĠĠĠ Ġprivate Ġvar Ġon ItemClickListener : ĠCallback ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġset Has Stable Ids ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠG ank ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . adapter _ video , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠG ank ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠG ank ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġg ank Ġ= Ġresults [ position ] ĊĠĠĠĠĠĠĠ Ġholder . item View . title . text Ġ= Ġg ank . desc ĊĠĠĠĠĠĠĠ Ġholder . item View . author . text Ġ= Ġg ank . who ĊĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon ItemClickListener ?. onClick ( g ank ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġposition . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġresults . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġref ill Items ( get Results : ĠList < Solid >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġresults . size ĊĠĠĠĠĠĠĠ Ġresults . clear () ĊĠĠĠĠĠĠĠ Ġnotify Item Range Removed ( 0 , Ġsize ) ĊĠĠĠĠĠĠĠ Ġappend Items ( get Results ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġappend Items ( get Results : ĠList < Solid >) Ġ{ ĊĠĠĠĠĠĠĠ Ġresults . addAll ( get Results ) ĊĠĠĠĠĠĠĠ Ġnotify Item Range Inserted ( results . size , Ġget Results . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On ItemClickListener ( on ItemClickListener : ĠCallback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . on ItemClickListener Ġ= Ġon ItemClickListener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠG ank ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) ĊĊĠĠĠ Ġinterface ĠCallback Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick ( solid : ĠSolid ) ĊĠĠĠ Ġ} Ċ } Ċ