/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 6 - present . ĠDr ake et ĠX u Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . dr ake et . mult it ype . sample . payload Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . dr ake et . mult it ype . Item View Binder Ċ import Ġcom . dr ake et . mult it ype . sample . R Ċ Ċ /** Ċ Ġ* Ġ@ author ĠDr ake et ĠX u Ċ Ġ*/ Ċ internal Ġclass ĠHe avy Item View Binder Ġ: ĠItem View Binder < He avy Item , ĠHe avy Item View Binder . ViewHolder >() Ġ{ ĊĊĠ Ġoverride Ġfun ĠonCreate ViewHolder ( in flater : ĠLayoutInflater , Ġparent : ĠViewGroup ): ĠViewHolder Ġ{ ĊĠĠĠ Ġreturn ĠViewHolder ( in flater . inflate ( R . layout . item _ heavy , Ġparent , Ġfalse )) ĊĠ Ġ} ĊĊĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġitem : ĠHe avy Item ) Ġ{ ĊĠĠĠ Ġholder . first Text . text Ġ= Ġitem . text ĊĠĠĠ Ġholder . end Text . text Ġ= Ġ" currentTimeMillis : Ġ" Ġ+ ĠSystem . currentTimeMillis () ĊĠĠĠ Ġholder . item Ġ= Ġitem ĊĠ Ġ} ĊĊĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġitem : ĠHe avy Item , Ġpayload s : ĠList < Any >) Ġ{ ĊĠĠĠ Ġif Ġ( payload s . isEmpty ()) Ġ{ ĊĠĠĠĠĠ Ġsuper . on Bind ViewHolder ( holder , Ġitem , Ġpayload s ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġholder . first Text . text Ġ= Ġ" Just Ġupdate Ġthe Ġfirst Ġtext : Ġ" Ġ+ Ġpayload s [ 0 ] ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġinner Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ), ĠView . OnClickListener , ĠView . On Long ClickListener Ġ{ ĊĊĠĠĠ Ġvar Ġfirst Text : ĠTextView Ġ= ĠitemView . findViewById ( R . id . first _ text ) ĊĠĠĠ Ġvar Ġend Text : ĠTextView Ġ= ĠitemView . findViewById ( R . id . end _ text ) ĊĠĠĠ Ġvar Ġitem : ĠHe avy Item ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠ ĠitemView . setOnClickListener ( this ) ĊĠĠĠĠĠ ĠitemView . setOn Long ClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĠĠĠĠĠ ĠToast . makeText ( v . context , Ġ" Update Ġwith Ġa Ġpayload ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠ Ġadapter . notify Item Changed ( binding Adapter Position , Ġ" la Ġla Ġla Ġ( payload )") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Long Click ( v : ĠView ): ĠBoolean Ġ{ ĊĠĠĠĠĠ ĠToast . makeText ( v . context , Ġ" Full Ġupdate ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠ Ġitem !!. text Ġ= Ġ" full Ġfull Ġfull " ĊĠĠĠĠĠ Ġadapter . notify Item Changed ( binding Adapter Position ) ĊĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ