/* Ċ Ġ* Ġ@ Copyright : Ġ 2 0 2 0 - 2 0 2 1 Ġwww . thread 0 . com ĠInc . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ package Ġcom . thread 0 . weather . ui . activity Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . Search View Ċ import Ġcom . thread 0 . weather . R Ċ import Ġcom . thread 0 . weather . adapter . Rv Adapter Search Location Ċ import Ġcom . thread 0 . weather . net . service . Location Service Ċ import Ġkotlinx . android . synt hetic . main . activity _ search .* Ċ import Ġtop . xu q ing qu an . app . Sca ffold Config Ċ import Ġtop . xu q ing qu an . extension . launch ĊĊ Ċ /** Ċ Ġ*@ ClassName : ĠSearch Activity Ċ Ġ*@ Description : Ġ åŁİ å¸Ĥ æĲľç´¢ é¡µéĿ¢ ĠTODO ï¼ļ çķĮéĿ¢ UI èĩª è¡Į ç¾İ åĮĸ Ċ Ġ*@ Author : Ġh ong zf Ċ Ġ*@ Date : Ġ 2 0 2 1 / 6 / 2 Ġ 1 1 : 0 0 Ġä¸ĭåįĪ ĠCreated Ċ Ġ*/ Ċ class ĠSearch Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter Search Location : ĠR v Adapter Search Location ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ search ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġadapter Search Location Ġ= ĠR v Adapter Search Location () ĊĠĠĠĠĠĠĠ Ġrv _ city _ list . adapter Ġ= Ġadapter Search Location ĊĠĠĠĠĠĠĠ Ġ// Ġè®¾ç½® çĤ¹åĩ» äºĭä»¶ ĊĠĠĠĠĠĠĠ Ġset Click Event () ĊĠĠĠĠĠĠĠ Ġ// ĠåĪĿå§ĭåĮĸ æķ°æį® ä¸İ å¸ĥå±Ģ ĊĠĠĠĠĠĠĠ Ġinit Data And UI () ĊĠĠĠĠĠĠĠ Ġ// è®¾ç½® çĬ¶æĢģ æłı ĊĠĠĠĠĠĠĠ Ġif Ġ( android . os . Build . VERSION . SDK _ INT Ġ>= Ġandroid . os . Build . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// èİ·åıĸ çªĹåı£ åĮºåŁŁ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwindow : Ġandroid . view . Window Ġ= Ġthis . window ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . add Flags ( android . view . WindowManager . LayoutParams . FLAG _ DR AWS _ SYSTEM _ BAR _ BACK GRO UN DS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è®¾ç½® æĺ¾ç¤º ä¸º çĻ½ èī² èĥĮæĻ¯ ï¼Į é»ĳ èī² åŃĹ ä½ĵ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . decor View . set System Ui Visibility ( android . view . View . SYSTEM _ UI _ FLAG _ LIGHT _ STATUS _ BAR ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . search , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġval Ġsearch View : ĠSearch View Ġ= Ġmenu !!. find Item ( R . id . search ). action View Ġas ĠSearch View ĊĠĠĠĠĠĠĠ Ġsearch View . setOn Query Text Listener ( object Ġ: ĠSearch View . On Query Text Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Query Text Submit ( s : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Query Text Change ( s : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh City List ( s ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Data And UI () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// TODO : 1 ãĢģ èİ·åıĸ æķ°æį®åºĵ åĨħ ä¿ĿåŃĺ çļĦ åŁİ å¸Ĥ æķ°æį® ï¼Į éĢļè¿ĩ Re cycle View å±ķç¤º åĩºæĿ¥ ï¼Į ä¾Ľ çĶ¨æĪ· éĢīæĭ© ï¼Ľ ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠ 2 ãĢģ çĶ¨æĪ· çĤ¹åĩ» Re cycle View åĲİ éĢļè¿ĩ set Result () å°Ĩ æīĢ çĤ¹åĩ» çļĦ åŁİ å¸Ĥ æķ°æį® ä¼łéĢĴ åĩº åİ» ï¼Į å¹¶ åħ³éĹŃ æŃ¤ çķĮéĿ¢ ãĢĤ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Click Event () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġè¿ĶåĽŀ ĊĠĠĠĠĠĠĠ Ġtoolbar . set Navigation OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTODO : ä¾Ŀ æį® åħ³éĶ® è¯į è¿Ľè¡Į åŁİ å¸Ĥ åĪĹè¡¨ çļĦ åĪ·æĸ° ï¼Į ä¿ĿçķĻ ä¸İ çĶ¨æĪ· åħ³éĶ® è¯į çĽ¸åħ³ çļĦ åŁİ å¸Ĥ ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġtips ï¼ļ å½ĵåīį åħ³éĶ® è¯į æĲľç´¢ ä¸įåĪ° ç»ĵæŀľ æĹ¶ ï¼Į éľĢè¦ģ æıĲ é ĨĴ çĶ¨æĪ· ãĢĤ ĊĠĠĠĠ Ġ* Ġ@ param Ġkeyword Ġ åħ³éĶ® è¯į ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrefresh City List ( keyword : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlocation Service Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScaffold Config . getRepository Manager (). obtain Ret rofit Service ( Location Service :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġlocation Service . get Locations ( location Ġ= Ġkeyword ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Search Location . setData ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . results , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠR v Adapter Search Location . On City ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon City Click ( id : ĠString , Ġname : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . putExtra (" city Id ", Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . putExtra (" name ", Ġname ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( Activity . RESULT _ OK , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }