package Ġcom . kir kb ush man . sample app . models Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġcom . air bnb . e po xy . E po xy Attribute Ċ import Ġcom . air bnb . e po xy . E po xy Model Class Ċ import Ġcom . air bnb . e po xy . E po xy Model With Holder Ċ import Ġcom . kir kb ush man . sample app . R Ċ import Ġcom . kir kb ush man . z am mad . models . Tag Ċ Ċ @ E po xy Model Class ( layout Ġ= ĠR . layout . item _ tag ) Ċ abstract Ġclass ĠTag Model Ġ: ĠE po xy Model With Holder < Tag Holder >() Ġ{ ĊĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġlateinit Ġvar Ġtag : ĠTag ĊĊĠĠĠ Ġ@ E po xy Attribute ( E po xy Attribute . Option . DoNot Hash ) ĊĠĠĠ Ġlateinit Ġvar Ġclick Listener : ĠView . OnClickListener ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( holder : ĠTag Holder ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġholder . tagName . text Ġ= Ġtag . name ĊĠĠĠĠĠĠĠ Ġholder . tag Count . text Ġ= Ġtag . count . toString () ĊĊĠĠĠĠĠĠĠ Ġholder . container . setOnClickListener ( click Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġun bind ( holder : ĠTag Holder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . container . setOnClickListener ( null ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠTag Holder Ġ: ĠKotlin Holder () Ġ{ ĊĊĠĠĠ Ġval Ġcontainer Ġby Ġbind < LinearLayout >( R . id . container ) ĊĠĠĠ Ġval ĠtagName Ġby Ġbind < TextView >( R . id . tag _ name ) ĊĠĠĠ Ġval Ġtag Count Ġby Ġbind < TextView >( R . id . tag _ count ) Ċ } Ċ