package Ġcom . project se oul . stock market test . recyclerview Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġcom . project se oul . stock market test . models .* Ċ import Ġcom . project se oul . stock market test . utils . Const Ċ import Ġjava . lang . IllegalArgumentException Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠK ING ĠJ IN HO Ġon Ġ 9 / 1 8 / 2 0 2 1 Ċ Ġ*/ Ċ class ĠItem RecyclerView Adapter < T Ġ: ĠAny >( ĊĠĠĠ Ġprivate Ġval Ġitems : ĠList < T >, ĊĠĠĠ Ġcallback : ĠDiff Util . Item Callback < T >, ĊĠĠĠ Ġprivate Ġval Ġlistener : ĠItem ClickListener ? Ġ= Ġnull Ċ ) Ġ: ĊĠĠĠ ĠList Adapter < T , ĠBase ViewHolder >( callback ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( items [ position ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStock By Fl uct uation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ STO CK _ FL UCT UATION _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStock By Transaction Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ STO CK _ TRANSACTION _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStock By Market Cap Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ STO CK _ MARK ET _ CAP _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStock By Upper Lower Limit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ STO CK _ UPPER _ LOWER _ LIMIT _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStock By Foreign er Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ STO CK _ FOREIGN ER _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStock By Turn over Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ STO CK _ TUR NO VER _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStock By Block Deal Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ STO CK _ BLOCK _ DE AL _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠGr ain Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ GR AIN _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠCr ude O il Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ O IL _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠB DI Index Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ B ALT IC _ IND ICES _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStock Base Info Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ STO CK _ BASIC _ INFO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStock Financial Statement Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ STO CK _ FIN AN CIAL _ STATE MENT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMonth ly Trading Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ MONTH LY _ TR ADING ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠList < *> Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . LAYOUT _ STO CK _ SINGLE _ LINE _ CH ART ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" item Ġtype Ġshould Ġmatch Ġone Ġof Ġlisted ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġitems . size ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠBase ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠItem ViewHolder Factory . create By ViewType ( parent , Ġview Type , Ġlistener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠBase ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems [ position ]. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }