package Ġcom . pol ipp o . application content provider Ċ Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . pol ipp o . application content provider . database . Notes Data Base Helper Ċ Ċ class ĠNotes Adapter ( private Ġval Ġlistener : ĠNote Clicked Listener ): ĠRecyclerView . Adapter < Notes ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Cursor : ĠCursor ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠNotes ViewHolder Ġ= ĊĠĠĠĠĠĠĠ ĠNotes ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . note _ item , Ġparent , Ġfalse )) ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠNotes ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Cursor ?. moveTo Position ( position ) ĊĊĠĠĠĠĠĠĠ Ġholder . note Title . text Ġ= Ġm Cursor ?. getString ( m Cursor ?. getColumnIndex ( Notes Data Base Helper . TITLE _ NOTES ) Ġas ĠInt ) ĊĠĠĠĠĠĠĠ Ġholder . note Description . text Ġ= Ġm Cursor ?. getString ( m Cursor ?. getColumnIndex ( Notes Data Base Helper . DESCRIPTION _ NOTES ) Ġas ĠInt ) ĊĠĠĠĠĠĠĠ Ġholder . note Button Remove . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cursor ?. moveTo Position ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . note Remove Item ( m Cursor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ Ġlistener . note Clicked Item ( m Cursor Ġas ĠCursor ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġif ( m Cursor Ġ!= Ġnull ) Ġm Cursor ?. count Ġas ĠInt Ġelse Ġ 0 ĊĊĠĠĠ Ġfun Ġset Cursor ( new Cursor : ĠCursor ? ){ ĊĠĠĠĠĠĠĠ Ġm Cursor Ġ= Ġnew Cursor ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠNotes ViewHolder ( item View : ĠView ): ĠRecyclerView . ViewHolder ( item View ){ ĊĠĠĠ Ġval Ġnote Title Ġ= ĠitemView . findViewById ( R . id . note _ title ) Ġas ĠTextView ĊĠĠĠ Ġval Ġnote Description Ġ= ĠitemView . findViewById ( R . id . note _ description ) Ġas ĠTextView ĊĠĠĠ Ġval Ġnote Button Remove Ġ= ĠitemView . findViewById ( R . id . note _ button _ remove ) Ġas ĠButton Ċ }