package Ġcom . k ross man zs . k ater ing y uk Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . k ross man zs . k ater ing y uk . data . Food Ċ import Ġcom . k ross man zs . k ater ing y uk . data . Food s Data Ċ import Ġcom . k ross man zs . k ater ing y uk . adapter . List Food Adapter Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrv Food : ĠRecyclerView ĊĠĠĠ Ġprivate Ġvar Ġlist Food : ĠArrayList < Food > Ġ= Ġarray ListOf () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġrv Food Ġ= ĠfindViewById ( R . id . rv _ food s ) ĊĠĠĠĠĠĠĠ Ġrv Food . set Has Fixed Size ( true ) ĊĊĠĠĠĠĠĠĠ Ġlist Food . addAll ( Food s Data . list Food ) ĊĠĠĠĠĠĠĠ Ġshow List Food () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow List Food () Ġ{ ĊĠĠĠĠĠĠĠ Ġrv Food . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġlist Food Adapter Ġ= ĠList Food Adapter ( list Food ) ĊĠĠĠĠĠĠĠ Ġrv Food . adapter Ġ= Ġlist Food Adapter ĊĊĠĠĠĠĠĠĠ Ġlist Food Adapter . setOn Item Click Callback ( object Ġ: ĠList Food Adapter . On Item Click Callback { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Clicked ( data : ĠFood ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this @ MainActivity , Detail Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Detail Activity . EXTRA _ IMG _ FO OD , data . photo ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Detail Activity . EXTRA _ IMG _ RAT ING , data . rating ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Detail Activity . EXTRA _ NAME , data . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Detail Activity . EXTRA _ DETAIL , data . detail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Detail Activity . EXTRA _ PRICE , data . price ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition ( R . anim . slide _ up , ĠR . anim . slide _ down ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ main , menu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ about Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( this , About Activity :: class . java ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} Ċ }