package Ġcn . sh y coder . common adapter lib Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Base Adapter Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠSh y Coder Ġon Ġ 9 / 2 8 / 2 0 1 8 . Ċ Ġ*/ Ċ abstract Ġclass ĠCommon Adapter < T >( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠdataSource : ĠMutable List < T >, ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlayout Res Id : ĠInt ) Ġ: ĠBase Adapter () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġholder Ġ= ĠCommon ViewHolder . create Instance ( context , ĠconvertView , Ġparent , Ġlayout Res Id , Ġposition ) ĊĠĠĠĠĠĠĠ Ġbind Data ( holder , ĠdataSource [ position ]) ĊĠĠĠĠĠĠĠ Ġreturn Ġholder . item View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠdataSource [ position ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġposition . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . dataSource . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġabstract Ġfun Ġbind Data ( holder : ĠCommon ViewHolder , Ġeach : ĠT ) Ċ Ċ }