package Ġcom . example . y oul u . android basic demo . menu Ċ Ċ import Ġandroid . view . Action Mode Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Abs ListView Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . ListView Ċ import Ġcom . example . y oul u . android basic demo . R Ċ import Ġcom . example . y oul u . android basic demo . base . Base Activity Ċ import Ġcom . example . y oul u . android basic demo . util . Toast Util Ċ import Ġkotlinx . android . synt hetic . main . activity _ menu _ test .* Ċ Ċ class ĠMenu Test Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm Action Callback Ġ= Ġobject Ġ: ĠAction Mode . Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Action Item Clicked ( mode : ĠAction Mode ?, Ġitem : ĠMenuItem ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( item ?. itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ delete Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate Action Mode ( mode : ĠAction Mode ?, Ġmenu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode ?. menu Inflater ?. inflate ( R . menu . menu _ context _ mode , Ġmenu ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Prepare Action Mode ( mode : ĠAction Mode ?, Ġmenu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Destroy Action Mode ( mode : ĠAction Mode ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Action Mode Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġm Multi Choice Listener Ġ= Ġobject Ġ: ĠAbs ListView . Multi Choice Mode Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Action Item Clicked ( mode : ĠAction Mode ?, Ġitem : ĠMenuItem ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( item ?. itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ delete Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Util . show Toast ( this @ Menu Test Activity , Ġ" delete !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Checked StateChanged ( mode : ĠAction Mode ?, Ġposition : ĠInt , Ġid : ĠLong , Ġchecked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate Action Mode ( mode : ĠAction Mode ?, Ġmenu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode ?. menu Inflater ?. inflate ( R . menu . menu _ context _ mode , Ġmenu ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Prepare Action Mode ( mode : ĠAction Mode ?, Ġmenu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar _ menu . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Destroy Action Mode ( mode : ĠAction Mode ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar _ menu . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġm Action Mode : ĠAction Mode ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . activity _ menu _ test ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġtoolbar _ menu . setTitle ( R . string . title _ menu ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar _ menu ) ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠArray Adapter . createFrom Resource ( this , ĠR . array . data _ time , Ġandroid . R . layout . simple _ expand able _ list _ item _ 1 ) ĊĠĠĠĠĠĠĠ Ġlv _ menu . adapter Ġ= Ġadapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġtv _ subject . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Action Mode Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Action Mode Ġ= Ġstart Action Mode ( m Action Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . isSelected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlv _ menu . choice Mode Ġ= ĠListView . CHO ICE _ MODE _ MULTIPLE _ MOD AL ĊĠĠĠĠĠĠĠ Ġlv _ menu . set Multi Choice Mode Listener ( m Multi Choice Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ options , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ