package Ġcom . example . basic login . Application Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . example . basic login . Models . C uis ine Category Record Ċ import Ġcom . example . basic login . Models . C uis ine Category Record Adapter Ċ import Ġcom . example . basic login . R Ċ import Ġcom . example . basic login . Tables . CR UC AT Ċ import Ġcom . example . basic login . Tables . Table Constants Ċ import Ġkotlinx . android . synt hetic . main . fragment _ f 9 1 __ tbl _ code desc .* Ċ Ċ class ĠF 9 2 _ Fragment Ġ: ĠFragment () Ġ{ Ċ // ĠĠĠ ĠC us ine ĠCategory Ġmanagement Ġ- Ġcode desc ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" F 9 2 ĠFragment " ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ f 9 1 __ tbl _ code desc , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġview . findViewById < TextView >( R . id . F 9 1 _ TBL _ Title ). setText ( Table Constants . TBL _ CR UC AT ) ĊĊĠĠĠĠĠĠĠ Ġview . findViewById < Button >( R . id . F 9 1 _ Btn _ Add ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( require Field Check ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException (" Required Ġfield Ġis Ġblank ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Record () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreset Field () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context ," Record Ġadded ", ĠToast . LENGTH _ LONG ). show () ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context ," ${ e . message }", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( TAG ," Exception Ġfound Ġ: Ġ${ e . message }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview . findViewById < Button >( R . id . F 9 1 _ Btn _ Refresh ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh List () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview . findViewById < Button >( R . id . F 9 1 _ Btn _ Back ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( R . id . action _ f 9 2 _ Fragment _ to _ f 9 0 _ Fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrefresh List () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Record (){ ĊĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ ĠF 9 1 _ In _ T ME PR D _ Cd . text . toString () ĊĠĠĠĠĠĠĠ Ġval Ġdesc Ġ Ġ= ĠF 9 1 _ In _ T ME PR D _ Desc . text . toString () ĊĊĠĠĠĠĠĠĠ Ġval Ġrecord Ġ: ĠC uis ine Category Record Ġ= ĠC uis ine Category Record ( 0 , code , desc ) ĊĠĠĠĠĠĠĠ ĠCR UC AT ( context !! ). add Record ( record ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrequire Field Check (): Boolean { ĊĠĠĠĠĠĠĠ Ġreturn ĠF 9 1 _ In _ T ME PR D _ Cd . text . isEmpty () Ġor ĠF 9 1 _ In _ T ME PR D _ Desc . text . isEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreset Field (){ ĊĠĠĠĠĠĠĠ ĠF 9 1 _ In _ T ME PR D _ Cd . setText ("") ĊĠĠĠĠĠĠĠ ĠF 9 1 _ In _ T ME PR D _ Desc . setText ("") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrefresh List (){ ĊĠĠĠĠĠĠĠ Ġval Ġrecords Ġ: ĠList < C uis ine Category Record > Ġ= ĠCR UC AT ( activity !!. application Context ). fetch All Record () ĊĠĠĠĠĠĠĠ Ġval Ġlist adapter Ġ= ĠC uis ine Category Record Adapter ( context !! , R . layout . entry _ f 9 1 _ time period , records ) ĊĠĠĠĠĠĠĠ ĠF 9 1 _ list view . adapter Ġ= Ġlist adapter ĊĠĠĠ Ġ} Ċ }