package Ġcom . v ax app . repos . list . view Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . v ax app . repos . R Ċ import Ġcom . v ax app . repos . list . model . View Repo Ċ import Ġcom . v ax app . repos . list . view model . Repo List ViewModel Ċ Ċ class ĠSimple Item RecyclerView Adapter ( ĊĠĠĠ Ġprivate Ġval Ġvalues : ĠArrayList < View Repo >, ĊĠĠĠ Ġprivate Ġvar ĠviewModel : ĠRepo List ViewModel Ċ ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Simple Item RecyclerView Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . repo _ list _ content ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Binding Util . inflate < ViewData Binding >( layout Inflater , Ġview Type , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( viewModel , Ġposition ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġvalues . size ĊĊĠĠĠ Ġfun Ġset Repos ( it : ĠList < View Repo >) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalues . clear () ĊĠĠĠĠĠĠĠ Ġvalues . addAll ( it ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( private Ġval Ġbinding : ĠView Data Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( viewModel : ĠRepo List ViewModel , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . set Variable ( 1 , ĠviewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . set Variable ( 2 , Ġposition ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }