package Ġcom . example . android . databinding . basics ample . ui . base Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ Ċ type alias ĠDiff Comparator < T > Ġ= Ġ( old : ĠT , Ġnew : ĠT ) Ġ-> ĠBoolean Ċ Ċ abstract Ġclass ĠBase Adapter < T >( ĊĠĠĠĠĠĠĠ Ġare Items Same : ĠDiff Comparator < T >, ĊĠĠĠĠĠĠĠ Ġare Contents Same : ĠDiff Comparator < T > Ċ ) Ġ: ĠList Adapter < T , ĠBase ViewHolder < T >>( ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠDiff Util . Item Callback < T >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠT , Ġnew Item : ĠT ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġare Items Same ( old Item , Ġnew Item ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠT , Ġnew Item : ĠT ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġare Contents Same ( old Item , Ġnew Item ) ĊĠĠĠĠĠĠĠ Ġ} Ċ ) Ġ{ ĊĠĠĠ Ġ// Ġregion ĠFunctions ĊĊĠĠĠ Ġabstract Ġfun Ġcreate ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ): ĠBase ViewHolder < T > ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠBase ViewHolder < T > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate ViewHolder ( LayoutInflater . from ( parent . context ), Ġparent , Ġview Type ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠBase ViewHolder < T >, Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠgetItem ( position ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( item Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( item , Ġposition ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġend region ĠFunctions Ċ Ċ } Ċ