package Ġio . github . yun ato . my record timer . ui . adapter Ċ Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . CheckBox Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . TextView Ċ import Ġio . github . yun ato . my record timer . R Ċ import Ġio . github . yun ato . my record timer . model . entity . Record Ċ import Ġio . github . yun ato . my record timer . model . entity . Sub Edit State Ċ Ċ import Ġkotlinx . android . synt hetic . main . fragment _ sub _ edit _ record . view .* Ċ Ċ class ĠSub Edit RecyclerView Adapter ( private Ġval Ġm Values : ĠList < Record >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġm Status : ĠList < Sub Edit State >) ĊĠĠĠ Ġ: ĠRecyclerView . Adapter < Sub Edit RecyclerView Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . fragment _ sub _ edit _ record , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġm Values [ position ] ĊĠĠĠĠĠĠĠ Ġholder . m Index Text . text Ġ= ĠString . format ("% d . Ġ", Ġposition Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġholder . m Title Edit . setText ("", ĠTextView . Buffer Type . NORMAL ) ĊĠĠĠĠĠĠĠ Ġholder . m Len View . text Ġ= Ġget Len String ( item . end Ġ- Ġitem . start ) ĊĠĠĠĠĠĠĠ Ġholder . m CheckBox . setOn Checked ChangeListener { view , Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Status [ position ]. isChecked Ġ= Ġis Checked ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . m Title Edit . after TextChanged { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Status [ position ]. title Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Len String ( diff : ĠLong ): ĠString { ĊĠĠĠĠĠĠĠ Ġval Ġtime Ġ= Ġdiff Ġ/ Ġ 1 0 0 0 L ĊĠĠĠĠĠĠĠ Ġval Ġsec Ġ= Ġtime Ġ% Ġ 6 0 ĊĠĠĠĠĠĠĠ Ġval Ġmin Ġ= Ġ( time Ġ/ Ġ 6 0 ) Ġ% Ġ 6 0 ĊĠĠĠĠĠĠĠ Ġval Ġhr Ġ= Ġtime Ġ/ Ġ 6 0 Ġ/ Ġ 6 0 ĊĠĠĠĠĠĠĠ Ġreturn ĠString . format ("% 0 2 d :% 0 2 d :% 0 2 d ", Ġhr , Ġmin , Ġsec ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠEditText . after TextChanged ( callback : Ġ( String ) Ġ-> ĠUnit ){ ĊĠĠĠĠĠĠĠ Ġthis . add TextChanged Listener ( object Ġ: ĠText Watcher { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġcount : ĠInt , Ġafter : ĠInt ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( s : ĠEdit able ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . invoke ( s . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġm Values . size ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( m View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( m View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm CheckBox : ĠCheckBox Ġ= Ġm View . item _ checkbox ĊĠĠĠĠĠĠĠ Ġval Ġm Index Text : ĠTextView Ġ= Ġm View . item _ index ĊĠĠĠĠĠĠĠ Ġval Ġm Title Edit : ĠEditText Ġ= Ġm View . item _ edit _ text _ title ĊĠĠĠĠĠĠĠ Ġval Ġm Len View : ĠTextView Ġ= Ġm View . item _ text _ view _ length ĊĠĠĠ Ġ} Ċ } Ċ