package Ġcom . github . p av los pt . ref actored umb rella . android . core . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . view binding . View Binding Ċ Ċ abstract Ġclass ĠView Binding Adapter < Item Ġ: ĠView Binding Adapter Item , ĠVB Ġ: ĠView Binding >( ĊĠĠĠ Ġdiff Callback : ĠView Binding Diff Util Callback < Item > Ċ ) Ġ: ĠList Adapter < Item , ĠView Binding ViewHolder < Item , ĠVB >>( diff Callback ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠView Binding ViewHolder < Item , ĠVB >, Ġposition : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġholder . bind ( item Ġ= ĠgetItem ( position )) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( ĊĠĠĠĠĠĠĠ Ġholder : ĠView Binding ViewHolder < Item , ĠVB >, ĊĠĠĠĠĠĠĠ Ġposition : ĠInt , ĊĠĠĠĠĠĠĠ Ġpayload s : ĠMutable List < Any > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( item Ġ= ĠgetItem ( position ), Ġpayload s Ġ= Ġpayload s ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ= ĠgetItem ( position ). item ViewType ĊĊĠĠĠ Ġprotected Ġval ĠViewGroup . layout Inflater : ĠLayoutInflater ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠLayoutInflater . from ( this . context ) Ċ } Ċ