package Ġcom . example . reactiv ew ith lifecycle aware . presentation . main . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . reactiv ew ith lifecycle aware . R Ċ import Ġcom . example . reactiv ew ith lifecycle aware . presentation . main . Main Contract Ċ import Ġjava . lang . IllegalStateException Ċ Ċ class ĠMain Adapter Ġ: ĠList Adapter < Main Contract . ListView Object , ĠRecyclerView . ViewHolder >( ĊĠĠĠ ĠDiff Util () Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( view Type , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ linear _ car _ model Ġ-> ĠLinear ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . layout _ grid _ car _ model Ġ-> ĠGrid ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" No Ġview Ġsupport Ġfor Ġthis Ġtype ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( holder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLinear ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position ). car Model ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠGrid ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position ). car Model ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( getItem ( position )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMain Contract . ListView Object . Linear Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ linear _ car _ model ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMain Contract . ListView Object . Grid Ġ-> ĠR . layout . layout _ grid _ car _ model ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }