package Ġcom . example . work di ary . Adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . work di ary . Adapter . Contract . Work For Di ary Adapter Contract Ċ import Ġcom . example . work di ary . R Ċ import Ġcom . example . work di ary . Model . Work Info Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . ArrayList Ċ Ċ class ĠWork For Di ary Adapter ( val Ġitems : ArrayList < Work Info >): ĠRecyclerView . Adapter < Work For Di ary Adapter . My ViewHolder >(), ĠWork For Di ary Adapter Contract . Model , ĠWork For Di ary Adapter Contract . View Ġ{ ĊĠĠĠ Ġinterface Ġ ĠOn ItemClickListener { ĊĠĠĠĠĠĠĠ Ġfun ĠOn Item Click ( holder : ĠMy ViewHolder , Ġview : ĠView , Ġposition : ĠInt ): ĠDi ary Adapter . On Long ItemClickListener ? ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġitem ClickListener : ĠOn ItemClickListener ?= null ĊĊĠĠĠ Ġinner Ġclass ĠMy ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtitle : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ item work ford i ary _ title ) ĊĠĠĠĠĠĠĠ Ġvar Ġwork Day : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ item work ford i ary _ day ) ĊĠĠĠĠĠĠĠ Ġvar Ġwork Time : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ item work ford i ary _ work Time ) ĊĠĠĠĠĠĠĠ Ġvar Ġmoney : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ item work ford i ary _ money ) ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem ClickListener ?. On Item Click ( this , Ġit , Ġadapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMy ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ work _ for _ di ary , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMy ViewHolder ( v ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġitems . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMy ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// dd ay Ġêµ¬ íķĺê¸° ĊĠĠĠĠĠĠĠ Ġval Ġsf Ġ= ĠSimpleDateFormat (" yyyy / MM / dd ") ĊĠĠĠĠĠĠĠ Ġval Ġtoday Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġval Ġwork Date Ġ= Ġsf . parse ( items [ position ]. work Date ) ĊĠĠĠĠĠĠĠ Ġval Ġwork D day Ġ= Ġ( today . time . time Ġ- Ġwork Date . time ) Ġ/ Ġ( 6 0 * 6 0 * 2 4 * 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ëħ ¸ ëıĻ ìĭľ ê°Ħ Ġêµ¬ íķĺê¸° ĊĠĠĠĠĠĠĠ Ġval ĠstartTime Stamp Ġ= Ġitems [ position ]. work StartTime . split (": ")[ 0 ]. toInt ()* 6 0 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems [ position ]. work StartTime . split (": ")[ 1 ]. toInt () ĊĠĠĠĠĠĠĠ Ġval ĠendTime Stamp Ġ= Ġitems [ position ]. work EndTime . split (": ")[ 0 ]. toInt ()* 6 0 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems [ position ]. work EndTime . split (": ")[ 1 ]. toInt () ĊĠĠĠĠĠĠĠ Ġval Ġwork Time Hour Ġ= Ġ( end TimeStamp - startTime Stamp )/ 6 0 ĊĠĠĠĠĠĠĠ Ġval Ġwork Time Min Ġ= Ġif (( end TimeStamp - startTime Stamp )% 6 0 Ġ>= Ġ 3 0 ) Ġ 3 0 Ġelse Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġ// xml ìĹĲ Ġìłģìļ© íķĺê¸° ĊĠĠĠĠĠĠĠ Ġholder . title . text Ġ= Ġitems [ position ]. work Title ĊĠĠĠĠĠĠĠ Ġholder . work Day . text Ġ= Ġitems [ position ]. work Date . split ("/ ")[ 2 ]. toInt (). toString ()+" ìĿ¼ " ĊĠĠĠĠĠĠĠ Ġholder . work Time . text Ġ= Ġ"${ work Time Hour } ìĭľ ê°Ħ Ġ" +" % 0 2 d ". format ( work Time Min )+" ë¶Ħ " ĊĠĠĠĠĠĠĠ Ġholder . money . text Ġ= Ġ"${ items [ position ]. work Money } ìĽĲ " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġnotify Adapter () Ġ{ ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Items ( position : ĠInt ): ĠWork Info Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġitems [ position ] ĊĠĠĠ Ġ} Ċ }