package Ġcom . example . template _ android _ load _ data _ from _ api . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ Ċ import Ġcom . example . template _ android _ load _ data _ from _ api . R Ċ import Ġcom . example . template _ android _ load _ data _ from _ api . adapters . Animal Adapter Ċ Ċ import Ġkotlinx . android . synt hetic . main . fragment _ animal s .* Ċ Ċ class ĠAnimal s Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġanimal s : ĠArrayList < String > Ġ= ĠArrayList () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ animal s , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval Ġself Ġ= Ġthis ĊĊĠĠĠĠĠĠĠ Ġ// ĠLoads Ġanimal s Ġinto Ġthe ĠArrayList ĊĠĠĠĠĠĠĠ Ġadd Animal s () ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreates Ġa Ġvertical ĠLayout ĠManager ĊĠĠĠĠĠĠĠ Ġrv _ animal _ list . layout Manager Ġ= ĠLinearLayoutManager ( self . require Context ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠYou Ġcan Ġuse ĠGrid LayoutManager Ġif Ġyou Ġwant Ġmultiple Ġcolumns . ĠEnter Ġthe Ġnumber Ġof Ġcolumns Ġas Ġa Ġparameter . Ċ // ĠĠĠĠĠĠĠ Ġrv _ animal _ list . layout Manager Ġ= ĠGrid LayoutManager ( this , Ġ 2 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠAccess Ġthe ĠRecyclerView ĠAdapter Ġand Ġload Ġthe Ġdata Ġinto Ġit ĊĠĠĠĠĠĠĠ Ġrv _ animal _ list . adapter Ġ= ĠAnimal Adapter ( animal s , Ġself . require Context ()) ĊĊĠĠĠĠĠĠĠ Ġsimple Search View . setOn Query Text Listener ( object Ġ: Ġandroid . widget . Search View . On Query Text Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Query Text Change ( new Text : ĠString ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Animal s Ġ= Ġanimal s . filter Ġ{ Ġit . contains ( new Text , Ġtrue ) Ġ} Ġas ĠArrayList < String > ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrv _ animal _ list . adapter Ġ= ĠAnimal Adapter ( new Animal s , Ġself . require Context ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Query Text Submit ( query : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtask ĠHERE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Animal s () Ġ{ ĊĠĠĠĠĠĠĠ Ġanimal s . add (" dog ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" cat ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" owl ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" che eta h ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" rac co on ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" bird ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" snake ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" liz ard ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" ham ster ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" bear ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" l ion ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" t iger ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" h orse ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" f rog ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" fish ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" shark ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" tur tle ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" ele ph ant ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" cow ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" be aver ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" b ison ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" por cup ine ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" rat ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" mouse ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" g oose ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" de er ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" fox ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" m oose ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" buff alo ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" monkey ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" peng u in ") ĊĠĠĠĠĠĠĠ Ġanimal s . add (" par rot ") ĊĠĠĠ Ġ} Ċ }