/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 ĠZ ac ĠS we ers Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġio . s we ers . catch up . ui Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Base Adapter Ċ Ċ /** Ċ Ġ* ĠAn Ġimplementation Ġof Ġ[ Base Adapter ] Ġwhich Ġuses Ġthe Ġbind Ġpattern Ġfor Ġits Ġviews . Ċ Ġ*/ Ċ abstract Ġclass ĠBind able Adapter < T >( val Ġcontext : ĠContext ) Ġ: ĠBase Adapter () Ġ{ ĊĠ Ġprivate Ġval Ġinflater : ĠLayoutInflater Ġ= ĠLayoutInflater . from ( context ) ĊĊĠ Ġabstract Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠT ĊĊĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġcontainer : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠ Ġval Ġview Ġ= ĠconvertView Ġ?: Ġnew View ( in flater , Ġposition , Ġcontainer ) ĊĠĠĠ Ġbind View ( getItem ( position ), Ġposition , Ġview ) ĊĠĠĠ Ġreturn Ġview ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠCreate Ġa Ġnew Ġinstance Ġof Ġa Ġview Ġfor Ġthe Ġspecified Ġposition . ĊĠĠ Ġ*/ ĊĠ Ġabstract Ġfun Ġnew View ( in flater : ĠLayoutInflater , Ġposition : ĠInt , Ġcontainer : ĠViewGroup ): ĠView ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠBind Ġthe Ġdata Ġfor Ġthe Ġspecified Ġ` position ` Ġto Ġthe Ġview . ĊĠĠ Ġ*/ ĊĠ Ġabstract Ġfun Ġbind View ( item : ĠT , Ġposition : ĠInt , Ġview : ĠView ) ĊĊĠ Ġoverride Ġfun Ġget DropDown View ( position : ĠInt , ĠconvertView : ĠView ?, Ġcontainer : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠ Ġval Ġview Ġ= ĠconvertView Ġ?: Ġnew DropDown View ( in flater , Ġposition , Ġcontainer ) ĊĠĠĠ Ġbind DropDown View ( getItem ( position ), Ġposition , Ġview ) ĊĠĠĠ Ġreturn Ġview ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠCreate Ġa Ġnew Ġinstance Ġof Ġa Ġdrop - down Ġview Ġfor Ġthe Ġspecified Ġposition . ĊĠĠ Ġ*/ ĊĠ Ġopen Ġfun Ġnew DropDown View ( in flater : ĠLayoutInflater , Ġposition : ĠInt , Ġcontainer : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠ Ġreturn Ġnew View ( in flater , Ġposition , Ġcontainer ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠBind Ġthe Ġdata Ġfor Ġthe Ġspecified Ġ` position ` Ġto Ġthe Ġdrop - down Ġview . ĊĠĠ Ġ*/ ĊĠ Ġprivate Ġfun Ġbind DropDown View ( item : ĠT , Ġposition : ĠInt , Ġview : ĠView ) Ġ{ ĊĠĠĠ Ġbind View ( item , Ġposition , Ġview ) ĊĠ Ġ} Ċ } Ċ