package Ġedu . mc u . team 0 3 . guide ass ists nt . ui . billing Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġedu . mc u . team 0 3 . guide ass ists nt . R Ċ import Ġedu . mc u . team 0 3 . guide ass ists nt . model . Billing Ċ import Ġio . realm . Ordered Realm Collection Ċ import Ġio . realm . Realm RecyclerView Adapter Ċ import Ġkotlinx . android . synt hetic . main . billing _ item . view .* Ċ import Ġorg . jetbrains . ank o . textColor ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġyo yo 9 3 0 0 2 1 Ġon Ġ 2 0 1 8 / 1 / 3 . Ċ Ġ*/ Ċ class ĠBilling Adapter ( data : ĠOrdered Realm Collection < Billing >, Ġprivate Ġval Ġitem Click : Ġ( id : ĠString ?, Ġlong : ĠBoolean ) Ġ-> ĠUnit ) Ġ: ĠRealm RecyclerView Adapter < Billing , ĠBilling Adapter . ViewHolder >( data , Ġtrue ) Ġ{ ĊĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠOnly Ġset Ġthis Ġif Ġthe Ġmodel Ġclass Ġhas Ġa Ġprimary Ġkey Ġthat Ġis Ġalso Ġa Ġinteger Ġor Ġlong . ĊĠĠĠĠĠĠĠ Ġ// ĠIn Ġthat Ġcase , Ġ{@ code ĠgetItem Id ( int )} Ġmust Ġalso Ġbe Ġoverridden Ġto Ġreturn Ġthe Ġkey . ĊĠĠĠĠĠĠĠ Ġ// ĠSee Ġhttps :// developer . android . com / reference / android / support / v 7 / widget / RecyclerView . Adapter . html # has Stable Ids () ĊĠĠĠĠĠĠĠ Ġ// ĠSee Ġhttps :// developer . android . com / reference / android / support / v 7 / widget / RecyclerView . Adapter . html # getItem Id ( int ) ĊĠĠĠĠĠĠĠ Ġ// Ġset Has Stable Ids ( true ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . billing _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( item View , Ġitem Click ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠgetItem ( position ) ĊĊĠĠĠĠĠĠĠ Ġholder . bind Record ( obj !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( view : ĠView , Ġprivate Ġval Ġitem Click : Ġ( id : ĠString ?, Ġlong : ĠBoolean ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind Record ( billing : ĠBilling ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( billing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . title TextView . text Ġ= Ġbilling . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnum Util Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbilling . nums . forEach Indexed Ġ{ Ġindex , Ġnum Unit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Util . append ( num Unit . num ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Util . append (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Util . append ( num Unit . unit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( index + 1 ) Ġ!= Ġbilling . nums . size ) Ġnum Util . append (" Ġ+ Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġnum Util . append (" Ġ= Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . num Util TextView . text Ġ= Ġnum Util . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( billing . type Ġ!= Ġ" è«ĭ æ¬¾ ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . sum TextView . text Ġ= Ġ"- Ġ${ billing . sum } Ġ åħĥ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . sum TextView . textColor Ġ= ĠColor . RED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . sum TextView . text Ġ= Ġ"+ Ġ${ billing . sum } Ġ åħĥ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . sum TextView . textColor Ġ= ĠColor . BLACK ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ Ġitem Click ( billing . id , Ġfalse ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Click ( billing . id , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }