package Ġcom . cat it . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . cat it . R Ċ import Ġcom . cat it . model . Card Ċ import Ġcom . cat it . sql . SQL Handler Ċ import Ġcom . cat it . view . Form Activity Ċ import Ġcom . cat it . view . View Activity Ċ Ċ class ĠCard Adapter ( private Ġval Ġcontext : ĠContext ) Ġ: ĠRecyclerView . Adapter < Card Adapter . Holder >() Ġ{ ĊĊĠ Ġprivate Ġval Ġdata Ġ= ĠArrayList < Card >() ĊĊĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġp 1 : ĠInt ): ĠH older Ġ{ ĊĠĠĠ Ġval Ġlayout Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . card _ model , Ġparent , Ġfalse ) ĊĠĠĠ Ġreturn ĠH older ( layout ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠH older , Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġholder . title . text Ġ= Ġdata [ position ]. title ĊĠĠĠ Ġholder . description . text Ġ= Ġdata [ position ]. description ĊĠĠĠ Ġholder . date . text Ġ= Ġdata [ position ]. date ĊĠĠĠ Ġholder . delete Button . setOnClickListener Ġ{ ĊĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( context ) ĊĠĠĠĠĠ Ġbuilder . setTitle (" Delete ") ĊĠĠĠĠĠ Ġbuilder . setTitle (" Are Ġyou Ġsure Ġyou Ġwant Ġto Ġdelete Ġthis Ġcard ?") ĊĠĠĠĠĠ Ġbuilder . set Positive Button (" Yes ") Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġdata [ position ]. id ĊĠĠĠĠĠĠĠ Ġval Ġsql Ġ= ĠSQL Handler ( context ) ĊĠĠĠĠĠĠĠ Ġsql . delete ( id ) ĊĠĠĠĠĠĠĠ Ġdata . remove At ( position ) ĊĠĠĠĠĠĠĠ Ġnotify Item Removed ( position ) ĊĠĠĠĠĠĠĠ Ġnotify Item Range Changed ( position , Ġdata . size ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġbuilder . set Negative Button (" No ") Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠ Ġ// ĠDo Ġnothing ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠ Ġ} ĊĠĠĠ Ġholder . view Button . setOnClickListener Ġ{ ĊĠĠĠĠĠ Ġval Ġid Ġ= Ġdata [ position ]. id ĊĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠView Activity :: class . java ) ĊĠĠĠĠĠ Ġintent . putExtra (" id ", Ġid ) ĊĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġholder . edit Button . setOnClickListener Ġ{ ĊĠĠĠĠĠ Ġval Ġid Ġ= Ġdata [ position ]. id ĊĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠForm Activity :: class . java ) ĊĠĠĠĠĠ Ġintent . putExtra (" id ", Ġid ) ĊĠĠĠĠĠ Ġintent . putExtra (" is Add ", Ġfalse ) ĊĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġdata . size ĊĊĠ Ġfun Ġadd Item ( item : ĠCard ) Ġ{ ĊĠĠĠ Ġdata . add ( 0 , Ġitem ) ĊĊĠĠĠ Ġthis . notify DataSet Changed () ĊĠĠĠ Ġthis . notify Item Range Inserted ( 0 , Ġdata . size ) ĊĠ Ġ} ĊĊĠ Ġfun Ġclear () Ġ{ ĊĠĠĠ Ġdata . clear () ĊĠĠĠ Ġthis . notify DataSet Changed () ĊĠĠĠ Ġthis . notify Item Range Inserted ( 0 , Ġdata . size ) ĊĠ Ġ} ĊĊĠ Ġclass ĠH older ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġval Ġtitle : ĠTextView Ġ= Ġview . findViewById ( R . id . textView Title ) ĊĠĠĠ Ġval Ġdescription : ĠTextView Ġ= Ġview . findViewById ( R . id . textView Desc ) ĊĠĠĠ Ġval Ġdate : ĠTextView Ġ= Ġview . findViewById ( R . id . textView Date ) ĊĠĠĠ Ġval Ġdelete Button : ĠButton Ġ= Ġview . findViewById ( R . id . button Delete ) ĊĠĠĠ Ġval Ġview Button : ĠButton Ġ= Ġview . findViewById ( R . id . button View ) ĊĠĠĠ Ġval Ġedit Button : ĠButton Ġ= Ġview . findViewById ( R . id . button Edit ) ĊĠ Ġ} Ċ Ċ }