package Ġcom . the kor ov ay . my portfolio . module _ news . ui . recycler _ view Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġjava . lang . Exception Ċ Ċ class ĠNews RecyclerView Adapter ( ĊĠĠĠ Ġprivate Ġval Ġnews ItemClickListener : ĠNews ItemClickListener , ĊĠĠĠ Ġprivate Ġval Ġshow More ClickListener : ĠShow More ClickListener , ĊĠĠĠ Ġ) Ġ: ĠList Adapter < News ListItem , ĠRecyclerView . ViewHolder >( Articles Diff Callback ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNews ListItem . ARTIC LE Ġ-> ĠArticle ViewHolder . from ( parent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNews ListItem . ARTIC LE _ NO _ TH UMB NA IL Ġ-> ĠArticle ViewHolder No Thumbnail . from ( parent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNews ListItem . SHOW _ MORE _ BUTTON Ġ-> ĠShow More ViewHolder . from ( parent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠException (" Unknown Ġview Ġtype Ġ$ view Type ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( holder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠArticle ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarticle Item Ġ= ĠgetItem ( position ) Ġas ĠNews ListItem . Article Item ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( article Item . article , Ġnews ItemClickListener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠArticle ViewHolder No Thumbnail Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarticle Item Ġ= ĠgetItem ( position ) Ġas ĠNews ListItem . Article No Thumbnail Item ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( article Item . article , Ġnews ItemClickListener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠShow More ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( show More ClickListener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ) Ġ= ĠgetItem ( position ). type Ċ }