package Ġcom . ch iv orn . demo kotlin Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Adapter View Ċ import Ġandroid . widget . Toast Ċ import Ġcom . ch iv orn . resource module . Main App Ċ import Ġcom . ch iv orn . smart material spinner . Smart Material Spinner Ċ Ċ class ĠMainActivity < T > Ġ: ĠMain App < T >() Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . smart _ material _ spinner _ sample _ layout ) ĊĊĠĠĠĠĠĠĠ Ġinit Base View () ĊĠĠĠĠĠĠĠ Ġinit ItemList () ĊĠĠĠĠĠĠĠ Ġinit Spinner In Kotlin () ĊĠĠĠĠĠĠĠ ĠonClick Listener () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Spinner In Kotlin () Ġ{ ĊĠĠĠĠĠĠĠ Ġsp Search able !!. item Ġ= Ġprovince List ĊĠĠĠĠĠĠĠ Ġsp Province !!. item Ġ= Ġprovince List ĊĠĠĠĠĠĠĠ Ġsp Province No Hint !!. item Ġ= Ġprovince List ĊĠĠĠĠĠĠĠ Ġsp Province Dialog !!. item Ġ= Ġprovince List ĊĠĠĠĠĠĠĠ Ġsp Custom Color !!. item Ġ= Ġprovince List ĊĊĠĠĠĠĠĠĠ Ġset On Empty Spinner ClickListener ( sp Empty Item ) ĊĠĠĠĠĠĠĠ Ġset On ItemSelected Listener ( sp Search able , Ġsp Province , Ġsp Province No Hint , Ġsp Province Dialog , Ġsp Custom Color , Ġsp Empty Item ) ĊĠĠĠĠĠĠĠ Ġset On Spinner EventListener ( sp Search able , Ġsp Province , Ġsp Province No Hint , Ġsp Province Dialog , Ġsp Custom Color , Ġsp Empty Item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset On ItemSelected Listener ( var arg Ġspin ners : ĠSmart Material Spinner <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( spinner Ġin Ġspin ners ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspinner . on ItemSelected Listener Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( adapter View : ĠAdapter View <* >, Ġview : ĠView , Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( spinner . id Ġ== ĠR . id . sp _ search able ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspinner . error Text Ġ= Ġ" Your Ġselected Ġitem Ġis Ġ\"" Ġ+ Ġspinner . item [ position ] Ġ+ Ġ"\" Ġ. " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspinner . error Text Ġ= Ġ" You Ġare Ġselecting Ġon Ġspinner Ġitem Ġ-> Ġ\"" Ġ+ Ġspinner . item [ position ] Ġ+ Ġ"\" Ġ. ĠYou Ġcan Ġshow Ġit Ġboth Ġin ĠXML Ġand Ġprogram matically Ġand Ġyou Ġcan Ġdisplay Ġas Ġsingle Ġline Ġor Ġmultiple Ġlines " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( adapter View : ĠAdapter View <* >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspinner . error Text Ġ= Ġ" On ĠNothing ĠSelected " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset On Spinner EventListener ( var arg Ġspin ners : ĠSmart Material Spinner <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( spinner Ġin Ġspin ners ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspinner . setOn Spinner EventListener ( object Ġ: ĠSmart Material Spinner . On Spinner EventListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Spinner Opened ( spinner : ĠSmart Material Spinner <* >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Spinner EventListener ", Ġ" on Spinner Opened : Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Spinner Closed ( spinner : ĠSmart Material Spinner <* >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Spinner EventListener ", Ġ" on Spinner Closed : Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset On Empty Spinner ClickListener ( var arg Ġspin ners : ĠSmart Material Spinner <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( spinner Ġin Ġspin ners ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspinner . setOn Empty Spinner ClickListener Ġ{ ĠToast . makeText ( this @ MainActivity , ĠgetString ( R . string . empty _ item _ spinner _ click _ msg ), ĠToast . LENGTH _ SHORT ). show () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ