package Ġcom . example . my personal assistant . adapter Ċ Ċ import Ġandroid . support . v 7 . widget . Card View Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġcom . example . my personal assistant . R Ċ import Ġcom . example . my personal assistant .` interface `. On ItemClickListener Ċ import Ġcom . example . my personal assistant . model . ToDo Model Ċ Ċ class ĠTo Do List Re cycle View Adapter ( var Ġlist : ĠArrayList < ToDo Model >, Ġ Ġvar Ġdone List : ĠBoolean , Ġvar Ġlistener : ĠOn ItemClickListener ) Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġto Do Ġ= Ġlist [ position Ġ% Ġlist . size ] ĊĊĠĠĠĠĠĠĠ Ġvar Ġholder ToDo : ĠTo Do Holder Ġ= Ġholder Ġas ĠTo Do Holder ĊĠĠĠĠĠĠĠ Ġholder ToDo . card Title . text Ġ= Ġto Do . title ĊĠĠĠĠĠĠĠ Ġholder ToDo . card Description . text Ġ= Ġto Do . description ĊĠĠĠĠĠĠĠ Ġholder ToDo . to Do Id Ġ= Ġto Do . id ĊĠĠĠĠĠĠĠ Ġholder ToDo . button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Item Click ( list . get ( position )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġvar ĠitemView Ġ= ĠLayoutInflater . from ( parent ?. context ). inflate ( R . layout . card _ view _ done , parent , false ) ĊĠĠĠĠĠĠĠ Ġif (! done List ) ĠitemView Ġ= ĠLayoutInflater . from ( parent ?. context ). inflate ( R . layout . card _ view _ todo , parent , false ) ĊĠĠĠĠĠĠĠ Ġreturn ĠTo Do Holder ( item View , Ġdone List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠTo Do Holder ( view : ĠView , Ġdone List : ĠBoolean ) Ġ: ĠRecyclerView . ViewHolder ( view ){ ĊĊĠĠĠĠĠĠĠ Ġvar Ġcv : ĠCard View ĊĠĠĠĠĠĠĠ Ġvar Ġcard Title : ĠTextView ĊĠĠĠĠĠĠĠ Ġvar Ġcard Description : ĠTextView ĊĠĠĠĠĠĠĠ Ġvar Ġto Do Id : ĠInt Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġbutton : ĠButton ĊĊĠĠĠĠĠĠĠ Ġinit { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( done List ) Ġcv Ġ= Ġview . findViewById ( R . id . done _ card _ view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġcv Ġ= Ġview . findViewById ( R . id . todo _ card _ view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard Title Ġ= ĠitemView . findViewById ( R . id . todo Item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard Description Ġ= ĠitemView . findViewById ( R . id . todo Description ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Ġ= ĠitemView . findViewById ( R . id . check Task ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }