package Ġcom . example . oct od roid . activities Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . support . v 7 . widget . Search View Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġbutter knife . bind View Ċ import Ġcom . example . oct od roid . R Ċ import Ġcom . example . oct od roid . views . adapters . SearchResult Adapter Ċ Ċ class ĠSearch Result Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġval Ġsearch Result ListView : ĠRecyclerView Ġby Ġbind View ( R . id . repository _ list ) ĊĊĠĠĠ Ġprivate Ġvar Ġsearch Result Adapter : ĠSearch Result Adapter ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġon Query Text Listener Ġ= Ġobject Ġ: ĠSearch View . On Query Text Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Query Text Submit ( query : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( query )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Result Adapter !!. submit ( query ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Query Text Change ( new Text : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ search _ result ) ĊĠĠĠĠĠĠĠ Ġsetup ActionBar () ĊĠĠĠĠĠĠĠ Ġsetup Views () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ search _ result , Ġmenu ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmenu Item Ġ= Ġmenu . find Item ( R . id . action _ search ) ĊĠĠĠĠĠĠĠ Ġval Ġsearch View Ġ= Ġmenu Item . action View Ġas ĠSearch View ĊĠĠĠĠĠĠĠ Ġsearch View . setIcon ified ByDefault ( true ) ĊĠĠĠĠĠĠĠ Ġsearch View . is Submit Button Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġsearch View . query Hint Ġ= ĠgetString ( R . string . title _ search _ result ) ĊĠĠĠĠĠĠĠ Ġsearch View . setOn Query Text Listener ( on Query Text Listener ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ search Ġ-> Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup ActionBar () Ġ{ ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. title Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Show Home Enabled ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġsearch Result Adapter Ġ= ĠSearch Result Adapter ( search Result ListView ) ĊĠĠĠĠĠĠĠ Ġsearch Result ListView . adapter Ġ= Ġsearch Result Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġlaunch ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠSearch Result Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ