package Ġcom . ed gar . movie . demo . activity Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget .* Ċ import Ġandroid . widget . Adapter View . On ItemSelected Listener Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . ed gar . movie . R ĊĊ Ċ class ĠDemo Container Widget Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġval ĠTAG Ġ= Ġ" Demo Container Widget " ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ demo _ container _ widget ) ĊĠĠĠĠĠĠĠ Ġa Spinner () ĊĠĠĠĠĠĠĠ Ġa GridView () ĊĠĠĠĠĠĠĠ Ġa Tab Host () ĊĠĠĠĠĠĠĠ Ġa ListView () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġa ListView () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist view Ġ= ĠfindViewById < ListView >( R . id . demo _ list view ) ĊĠĠĠĠĠĠĠ Ġval Ġfru its = ĠlistOf (" ç¬¬ä¸Ģä¸ª æĺ¯ åĪĹè¡¨ ", Ġ" Apple ", Ġ" Orange ", Ġ" P ear ", Ġ" P each ") ĊĠĠĠĠĠĠĠ Ġval Ġadapter : ĠArray Adapter < String > Ġ= ĠArray Adapter ( this , android . R . layout . simple _ list _ item _ 1 , fr uits ) ĊĠĠĠĠĠĠĠ Ġlist view . adapter Ġ= Ġadapter ; ĊĠĠĠĠĠĠĠ Ġlist view . setOn ItemClickListener Ġ{ Ġadapter View , Ġview , Ġpost ion , Ġvar 4 Ġ-> ĠLog . e ( TAG , Ġ" ListView ĠOn Item Click : Ġ$ post ion ") Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġa Tab Host () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtab Ġ= ĠfindViewById < Tab Host >( R . id . demo _ tab host ) ĊĠĠĠĠĠĠĠ Ġ// åĪĿå§ĭåĮĸ Tab Host å®¹åĻ¨ ĊĠĠĠĠĠĠĠ Ġtab . setup () ĊĠĠĠĠĠĠĠ Ġ// åľ¨ Tab Host åĪĽå»º æłĩçŃ¾ ï¼Į çĦ¶åĲİ è®¾ç½® ï¼ļ æłĩé¢ĺ ï¼ ı åĽ¾ æłĩ ï¼ ı æłĩçŃ¾ é¡µ å¸ĥå±Ģ ĊĠĠĠĠĠĠĠ Ġtab . add Tab ( tab . new Tab Spec (" tab 1 "). set Indicator (" æľª æİ¥ æĿ¥ çĶµ ", Ġnull ). setContent ( R . id . tab 1 )) ĊĠĠĠĠĠĠĠ Ġtab . add Tab ( tab . new Tab Spec (" tab 2 "). set Indicator (" å·² æİ¥ æĿ¥ çĶµ ", Ġnull ). setContent ( R . id . tab 2 )) ĊĠĠĠĠĠĠĠ Ġtab . add Tab ( tab . new Tab Spec (" tab 3 "). set Indicator (" åĳ¼ åĩº éĢļ è¯Ŀ ", Ġnull ). setContent ( R . id . tab 3 )) ĊĠĠĠĠĠĠĠ Ġtab . setOn Tab Changed Listener Ġ{ Ġvar 1 Ġ-> ĠLog . e ( TAG , Ġ" Tab Host ĠOn Tab Changed : Ġ$ var 1 ") Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġa Spinner () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspinner Ġ= ĠfindViewById < Spinner >( R . id . demo _ spinner ) ĊĠĠĠĠĠĠĠ Ġval Ġlanguages = ĠlistOf (" java ", Ġ" c ++ ", Ġ" kotlin ", Ġ" swift ") ĊĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArray Adapter ( this , Ġandroid . R . layout . simple _ spinner _ item , Ġlanguages ) Ġ// Ġ æľª å±ķ å¼Ģ èıľåįķ æĹ¶ Spinner çļĦ é»ĺè®¤ æł·å¼ı ĊĠĠĠĠĠĠĠ Ġadapter . set DropDown View Resource ( android . R . layout . simple _ spinner _ dropdown _ item ) Ġ// Ġä¸ĭ æĭī èıľåįķ çļĦ æł·å¼ı ĊĠĠĠĠĠĠĠ Ġspinner . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġspinner . on ItemSelected Listener Ġ= Ġobject Ġ: ĠOn ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( Ġparent : ĠAdapter View < *> ?, Ġview : ĠView ?, Ġpos : ĠInt , Ġid : ĠLong ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlanguages = ĠlistOf (" java ", Ġ" c ++ ", Ġ" kotlin ", Ġ" swift ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" on ItemSelected Ġ ä½ł çĤ¹åĩ» çļĦæĺ¯ :" Ġ+ Ġlanguages [ pos ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View < *> ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" on Nothing Selected ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġspinner . setSelection ( 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġa GridView () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgrid _ view Ġ= ĠfindViewById < GridView >( R . id . demo _ grid view ) ĊĠĠĠĠĠĠĠ Ġval Ġnumbers = ĠlistOf (" ä¸Ģ ", Ġ" äºĮ ", Ġ" ä¸ī ", Ġ" åĽĽ "," äºĶ "," åħŃ ") Ċ // ĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠArray Adapter ( this , Ġandroid . R . layout . simple _ spinner _ item , Ġnumbers ) ĊĠĠĠĠĠĠĠ Ġgrid _ view . adapter Ġ= ĠSimple Gr di View Adapter ( this , Ġnumbers ) ĊĠĠĠĠĠĠĠ Ġgrid _ view . num Columns Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġ// Ġ æ³¨åĨĮ åįķåħĥ æł¼ çļĦ çĤ¹åĩ» äºĭä»¶ ĊĠĠĠĠĠĠĠ Ġgrid _ view . setOn ItemClickListener Ġ{ Ġparent , Ġview , Ġposition , Ġid Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" GridView Ġset On ItemClickListener Ġ ä½ł çĤ¹åĩ» çļĦæĺ¯ :" Ġ+ Ġnumbers [ position ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġclass ĠSimple Gr di View Adapter ( val Ġcontext : ĠContext , Ġval Ġobjects : ĠList < String >): ĠBase Adapter () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ åįķåħĥ æł¼ çļĦ ĠView ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= Ġcontext . getSystem Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) Ġas ĠLayoutInflater ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgrid View : ĠView ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( convert View Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgrid View Ġ= Ġinflater . inflate ( android . R . layout . simple _ spinner _ item , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtextView Ġ= Ġgrid View . findViewById < TextView >( android . R . id . text 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . maxWidth Ġ= Ġ 2 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . setText ( objects [ position ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . setTextColor ( when Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠColor . LT GRAY ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠColor . BLUE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠColor . YELLOW ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠColor . RED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgrid View Ġ= ĠconvertView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġgrid View ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ è¦ģ æ¸²æŁĵ çļĦ åįķåħĥ æł¼ æķ°éĩı ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġobjects . size ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġåľ¨ è¿Ļä¸ª ç¤ºä¾ĭ ä¸Ń ä¸į çĶ¨ ï¼Į Android Ġ è¦ģæ±Ĥ å®ŀçİ° æŃ¤ æĸ¹æ³ķ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġåľ¨ è¿Ļä¸ª ç¤ºä¾ĭ ä¸Ń ä¸į çĶ¨ ï¼Į Android Ġ è¦ģæ±Ĥ å®ŀçİ° æŃ¤ æĸ¹æ³ķ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }