package Ġcom . b ix labs . b kotlin Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Adapter View Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . Spinner Ċ import Ġandroid . widget . Spinner Adapter Ċ Ċ /** Ċ Ġ* ĠCallback Ġexecuted Ġwhen Ġa Ġspinner Ġitem Ġis Ġselected Ċ Ġ* Ġ@ return ĠAm Ġimplemented Ġ` On ItemSelected Listener ` Ġinterface Ġin Ġcase Ġthe Ġsame Ġis Ġneeded Ġfor Ġany Ġother Ġoperation . Ċ Ġ*/ Ċ fun ĠSp inner . on ItemSelected ( ĊĠĠĠĠĠĠĠ Ġon Nothing Select : Ġ( parent : ĠAdapter View < *> ?) Ġ-> ĠUnit Ġ= Ġ{ Ġ_ Ġ-> Ġ}, ĊĠĠĠĠĠĠĠ Ġon Item Select : Ġ( parent : ĠAdapter View < *> ?, Ġview : ĠView ?, Ġposition : ĠInt ?, Ġid : ĠLong ?) Ġ-> ĠUnit Ġ= Ġ{ Ġ_, Ġ_, Ġ_, Ġ_ Ġ-> Ġ}): ĊĠĠĠĠĠĠĠ ĠAdapter View . On ItemSelected Listener Ġ{ ĊĊĠĠĠ Ġval Ġitem Selected Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( p 0 : ĠAdapter View < *> ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Nothing Select ( p 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( p 0 : ĠAdapter View < *> ?, Ġp 1 : ĠView ?, Ġp 2 : ĠInt , Ġp 3 : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Select ( p 0 , Ġp 1 , Ġp 2 , Ġp 3 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġon ItemSelected Listener Ġ= Ġitem Selected ĊĠĠĠ Ġreturn Ġitem Selected Ċ } Ċ Ċ /** Ċ Ġ* ĠSets Ġan ĠArrayList Ġof Ġobjects Ġwith Ġan Ġadditional Ġ( but Ġoptional Ġand Ġwhich Ġdefaults Ġto Ġ` object . toString () `) Ċ Ġ* Ġstring Ġconversion Ġmethod Ġfor Ġthe Ġsame . Ċ Ġ* Ġ@ return ĠA Ġnew Ġ` Array Adapter ` Ġalready Ġcontaining Ġthe Ġitems Ġreceived Ġby Ġthis Ġmethod Ċ Ġ*/ Ċ fun Ġ< T > ĠSp inner . set Items ( ĊĠĠĠĠĠĠĠ Ġitems : ĠArrayList < T > ?, ĊĠĠĠĠĠĠĠ Ġlayout Resource : ĠInt Ġ= Ġandroid . R . layout . simple _ spinner _ dropdown _ item , ĊĠĠĠĠĠĠĠ Ġget Title : Ġ( item : ĠT ) Ġ-> ĠString Ġ= Ġ{ Ġa Ġ-> Ġa . toString () Ġ}): ĠSp inner Adapter ? Ġ{ ĊĊĠĠĠ Ġval Ġfinal List : ĠArrayList < String > Ġ= ĠArrayList < String >() ĊĠĠĠ Ġitems ?. forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġfinal List . add ( getTitle ( it )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġmy Adapter Ġ= ĠArray Adapter ( this . context , Ġlayout Resource , Ġfinal List ) ĊĠĠĠ Ġadapter Ġ= Ġmy Adapter ĊĊĠĠĠ Ġreturn Ġadapter Ċ }