package Ġcom . h ann es dor fm ann . mos by 3 . sample . flow . countries Ċ Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġbutter knife . bind View Ċ import Ġcom . h ann es dor fm ann . mos by 3 . sample . flow . R Ċ import Ġcom . h ann es dor fm ann . mos by 3 . sample . flow . model . Info Ċ import Ġcom . h ann es dor fm ann . mos by 3 . sample . flow . model . Info Picture Ċ import Ġcom . h ann es dor fm ann . mos by 3 . sample . flow . model . Info Text Ċ import Ġcom . squareup . pic asso . Pic asso Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ċ Ġ* Ġ@ author ĠH ann es ĠD or fm ann Ċ Ġ*/ Ċ Ċ class ĠInfo ViewHolder ( v : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( v ) Ġ{ ĊĠ Ġval Ġtitle : ĠTextView Ġby Ġbind View ( R . id . title ) ĊĠ Ġval Ġtext : ĠTextView Ġby Ġbind View ( R . id . text ) ĊĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ" Info ViewHolder Ġ" Ġ+ Ġsuper . toString () ĊĠ Ġ} Ċ } Ċ Ċ class ĠInfo Picture ViewHolder ( v : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( v ) Ġ{ ĊĠ Ġval Ġimage : ĠImageView Ġby Ġbind View ( R . id . image ) ĊĊĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ" Info Picture ViewHolder Ġ" Ġ+ Ġsuper . toString () ĊĠ Ġ} Ċ } Ċ Ċ class ĠInfo Adapter ( private Ġval Ġinflater : ĠLayoutInflater ) Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠ Ġprivate Ġval ĠVIEW TYPE _ TEXT Ġ= Ġ 0 ĊĠ Ġprivate Ġval ĠVIEW TYPE _ IMAGE Ġ= Ġ 1 ĊĊĠ Ġvar Ġitems : ĠList < Info >? Ġ= Ġnull ĊĊĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġitem Ġ= Ġitems ! ![ position ] ĊĠĠĠ Ġreturn Ġwhen Ġ( item ) Ġ{ ĊĠĠĠĠĠ Ġis ĠInfo Text Ġ-> ĠVIEW TYPE _ TEXT ĊĠĠĠĠĠ Ġis ĠInfo Picture Ġ-> ĠVIEW TYPE _ IMAGE ĊĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠException (" unknown Ġview holder ") ĊĠĠĠ Ġ} ĊĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup ?, Ġview Type : ĠInt ) Ġ= ĊĠĠĠĠĠ Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠVIEW TYPE _ TEXT Ġ-> ĠInfo ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater . inflate ( R . layout . item _ info , Ġparent , Ġfalse )) ĊĊĠĠĠĠĠĠĠ ĠVIEW TYPE _ IMAGE Ġ-> ĠInfo Picture ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater . inflate ( R . layout . item _ picture , Ġparent , Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠException (" unknown Ġview holder ") ĊĠĠĠĠĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( vh : ĠRecyclerView . ViewHolder , Ġpos : ĠInt ) Ġ{ ĊĠĠĠ Ġwhen Ġ( vh ) Ġ{ ĊĠĠĠĠĠ Ġis ĠInfo ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġitems ! ![ pos ] Ġas ĠInfo Text ĊĠĠĠĠĠĠĠ Ġv h . title . setText ( info . title Res ) ĊĠĠĠĠĠĠĠ Ġv h . text . text Ġ= Ġinfo . text ĊĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠ Ġis ĠInfo Picture ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġitems ! ![ pos ] Ġas ĠInfo Picture ĊĠĠĠĠĠĠĠ ĠPic asso . with ( vh . item View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( info . url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . color . image _ placeholder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Inside () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( vh . image ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠException (" unknown Ġview holder ") ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġif Ġ( items Ġ== Ġnull ) Ġ 0 Ġelse Ġitems !!. size Ċ } Ċ