package Ġcom . kir kb ush man . sample app . controllers Ċ Ċ import Ġandroid . view . View Ċ import Ġcom . air bnb . e po xy . E po xy Controller Ċ import Ġcom . kir kb ush man . gf y cat . models . G fy cat Ċ import Ġcom . kir kb ush man . sample app . models . empty Ċ import Ġcom . kir kb ush man . sample app . models . gf y cat Ċ Ċ class ĠG fy cat Controller ( private Ġval Ġcallback : ĠOnClick Callback ) Ġ: ĠE po xy Controller () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġitems Ġ= ĠArrayList < G fy cat >() ĊĊĠĠĠ Ġfun Ġset Items ( items : ĠList < G fy cat >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . items . clear () ĊĠĠĠĠĠĠĠ Ġthis . items . addAll ( items ) ĊĠĠĠĠĠĠĠ Ġrequest Model Build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbuild Models () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( items . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid (" empty _ model ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġitems . forEach Indexed Ġ{ Ġindex , Ġit Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġg fy cat Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid ( it . gf y Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg fy cat ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ( View . OnClickListener Ġ{ Ġthis @ G fy cat Controller . callback . onClick ( index ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ