package Ġdk . r sk ov bo . md _ android _ notebook . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget .* Ċ import Ġdk . r sk ov bo . md _ android _ notebook . model . Note Item Ċ import Ġdk . r sk ov bo . md _ android _ notebook . R Ċ import Ġdk . r sk ov bo . md _ android _ notebook . service . Note Service Ċ Ċ class ĠList Adapter ( context : ĠContext , Ġprivate Ġval ĠdataSource : ĠArrayList < Note Item >): ĠBase Adapter () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġinflater : ĠLayoutInflater Ġ= Ġcontext . getSystem Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) Ġas ĠLayoutInflater ĊĠĠĠ Ġprivate Ġval Ġnote Service Ġ= ĠNote Service () ĊĊĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠdataSource . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠdataSource [ position ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġposition . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠView holder Ġpattern ĊĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview : ĠView ĊĠĠĠĠĠĠĠ Ġval Ġholder : ĠViewHolder ĊĊĠĠĠĠĠĠĠ Ġ// ĠOnly Ġinf late Ġfirst Ġtime ĊĠĠĠĠĠĠĠ Ġif Ġ( convert View Ġ== Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= Ġinflater . inflate ( R . layout . list _ item _ layout , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder Ġ= ĠViewHolder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . title TextView Ġ= Ġview . findViewById ( R . id . title ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . body TextView Ġ= Ġview . findViewById ( R . id . body ) Ġas ĠTextView ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . tag Ġ= Ġholder ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGet Ġthe Ġview Ġas Ġcreated Ġbefore ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= ĠconvertView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder Ġ= ĠconvertView . tag Ġas ĠViewHolder ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġsub views ĊĠĠĠĠĠĠĠ Ġval Ġtitle TextView Ġ= Ġholder . title TextView ĊĠĠĠĠĠĠĠ Ġval Ġbody TextView Ġ= Ġholder . body TextView ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġsub views ĊĠĠĠĠĠĠĠ Ġval Ġnote Item Ġ= ĠgetItem ( position ) Ġas ĠNote Item ĊĠĠĠĠĠĠĠ Ġtitle TextView . text Ġ= Ġnote Item . title ĊĠĠĠĠĠĠĠ Ġbody TextView . text Ġ= Ġnote Item . body ĊĊĠĠĠĠĠĠĠ Ġval Ġdelete Button : ĠButton Ġ= Ġview . findViewById ( R . id . delete Button ) ĊĠĠĠĠĠĠĠ Ġdelete Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnote Service . delete Note ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġtitle TextView : ĠTextView ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġbody TextView : ĠTextView ĊĠĠĠ Ġ} Ċ Ċ }