package Ġcom . example . lib ros app Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . example . lib ros app . databinding . Item Lib ros Binding Ċ import Ġcom . example . lib ros app . datos de API . google Books Ċ Ċ /* ( 1 2 . 2 ) ĠA Ġla Ġclase ĠLib ros Adapter Ġc read a Ġse Ġle Ġda Ġcomo ĠparÃ¡ metros Ġuna Ġconst ante Ġlib ros , Ġde Ġla Ġclase Ċ google Books Ġ( c read a Ġen Ġ( 1 )) Ġy Ġque Ġesta Ġher eda Ġ( cre o Ġque Ġes o Ġson Ġlos Ġdos Ġpunto s ) Ġde Ġre cycler view Ġun Ġadapt ador Ċ ( Adapter ) Ġque Ġtiene Ġen Ġsu Ġinterior Ġel ĠViewHolder Ġ( a Ãºn Ġno Ġc read o Ġen Ġeste Ġpunto , Ġpor Ġlo Ġque Ġva Ġa Ġdar Ġun Ġerror , Ċ en Ġla Ġparte Ġde Ġ< >, Ġpero Ġhay Ġque Ġde jar lo Ġas ÃŃ Ġpor Ġm ient ras , Ġpara Ġcom enz ar Ġa Ġsol ucion ar lo Ġest o Ġse Ġcre a Ċ una Ġnue va Ġclase Ġcon Ġel ĠH older Ġque Ġfal ta Ġllam ada ĠLib ros Holder . tk Ġ[ sig ue Ġen Ġ 1 2 . 3 Ġ- ĠLib ros Holder . tk ]) */ Ċ /* ( 1 2 . 5 ) ĠPara Ġcor reg ir Ġel Ġerror Ġde Ġ 1 2 . 2 , Ġpas amos Ġpor Ġlos Ġpas os Ġ 1 2 . 3 Ġy Ġ 1 2 . 4 Ġy Ġl uego Ġen Ġeste Ġ 1 2 . 5 Ġle Ġmet emos Ċ al ĠAdapter Ġel ĠLib ros Holder Ġc read o Ġen Ġlos Ġm enc ion ados Ġpas os . ĠA Ãºn Ġas ÃŃ , Ġdesp ues Ġde Ġhacer Ġest o , Ġla Ġparte Ġde Ċ class ĠDog Adapter Ġva Ġa Ġqu ed ar Ġm arc ada Ġcon Ġun Ġerror , Ġpara Ġes o Ġlo Ġque Ġhay Ġque Ġhacer Ġes Ġdar Ġclick Ġen Ġel Ċ nombre Ġde Ġla Ġfuncion Ġy Ġl uego Ġen Ġla Ġamp ol leta Ġro ja , Ġselecion ando Ġposterior mente Ġla Ġo pcion Ġ" implement Ċ members " Ġy Ġcrear Ġlos Ġt res Ġmet od os Ġque Ġnos Ġva Ġa Ġsu ger ir Ġel ĠIDE Ċ Ċ En Ġest os ĠmÃ© todos Ġgener ados Ġautomatic amente Ġlo Ġque Ġse Ġh ace Ġes Ġlo Ġsiguiente : Ċ Ċ override Ġfun ĠonCreate ViewHolder Ġ--> ĠEsta ĠfunciÃ³n , Ġse Ġactiv a ĠautomÃ¡t ic amente Ġcuando Ġel la Ġlo Ġneces ite , Ċ por Ġlo Ġque Ġnos ot ros Ġno Ġten emos Ġque Ġhacer Ġn ada , Ġy Ġlo Ġque Ġh ace Ġes Ġret orn ar Ġ( return ) Ġel ĠView ĠH older Ġ( el ĠLib ros Holder ) Ċ y Ġusar Ġcomo ĠparÃ¡ metros Ġel ĠItem Lib ros Binding Ġ( us ado Ġen Ġla Ġview Binding ) Ġe Ġinfl ar lo Ġ( inflate Ġ= ĠEach Ġactivity Ċ has Ġan Ġassociated Ġlayout Ġfile . ĠThe Ġactivity Ġand Ġthe Ġlayout Ġare Ġconnected Ġby Ġa Ġprocess Ġknown Ġas Ġlayout Ċ in fl ation . ĠWhen Ġthe Ġactivity Ġstarts , Ġthe Ġviews Ġthat Ġare Ġdefined Ġin Ġthe ĠXML Ġlayout Ġfiles Ġare Ġturned Ġinto Ċ ( or Ġ" in fl ated " Ġinto ) ĠKotlin Ġview Ġobjects Ġin Ġmemory . ĠOnce Ġthis Ġhappens , Ġthe Ġactivity Ġcan Ġdraw Ġthese Ġobjects Ċ to Ġthe Ġscreen Ġand Ġalso Ġdynamically Ġmodify Ġthem ), Ġest o Ġlo Ġlo gra Ġa Ġtr aves Ġde Ġla Ġclase ĠLayout Inf alter , Ġque Ġre ci be Ġde Ċ par Ã¡ metros Ġparent Ġ( el Ġre cycler Ġview , Ġdon de Ġse Ġvan Ġa Ġl len ar Ġlas Ġcard view ) Ġy Ġcontext Ġ( la Ġcard view )... Ġel Ġfalse Ċ ni Ġidea Ġporque Ġva , Ġpero Ġes Ġneces ario Ġp oner lo Ċ Ċ override Ġfun Ġon Bind ViewHolder Ġ--> ĠEsta ĠfunciÃ³n Ġlo Ġque Ġh ace Ġes Ġque Ġdice Ġ" so y Ġla Ġpos iciÃ³n ĠX Ġ( de Ġhay Ġel Ċ at ribut o Ġposition : ĠInt ), Ġy Ġt eng o Ġla Ġinst ancia Ġel ĠViewHolder Ġ( holder : ĠLib ros Holder ), Ġpor Ġlo Ġque Ġcon Ċ el lo Ġvo y Ġa Ġp int ar Ġlo Ġque Ġme Ġindi qu en , Ġen Ġla Ġpos iciÃ³n Ġy Ġen Ġlos Ġcampos Ġque Ġt eng a Ġdispon ible Ġpara Ġes o Ġ( se Ġindic a Ċ titulo , Ġautor Ġe Ġimagen Ġen Ġlos Ġcampos Ġdispon ibles Ġde Ġt vt itulo , Ġt va utor Ġe Ġiv lib ro Ġque Ġest an Ġvac ios Ġh asta Ċ este Ġmoment o ), ĠImport ante Ġque Ġcomo Ġla Ġimagen Ġpuede Ġf alt ar , Ġse Ġman e ja Ġun Ġpos ible Ġerror Ġen Ġel Ġblo que Ġtry / catch Ċ que Ġindic a Ġque Ġsi Ġhay Ġimagen , Ġse Ġp ong a Ġen Ġiv lib ro , Ġsi Ġno Ġes Ġas ÃŃ , Ġpara Ġev itar Ġel Ġerror Ġ( e : ĠNullPointerException ) Ċ se Ġre emplace Ġla Ġimagen Ġf alt ante Ġcon Ġla Ġimagen Ġde Ġmip map Ġllam ada Ġ" no imag end isp on ible ". Ċ Ċ override Ġfun ĠgetItem Count Ġ--> Ġret orn ar Ġel Ġnumero Ġde Ġitems Ġque Ġva Ġa Ġtener Ġla Ġlista Ġ( si Ġson Ġmuch os , Ġ. size Ġes Ċ el ĠparÃ¡ metro Ġque Ġident ifica Ġque Ġla Ġcantidad Ġva Ġa Ġser Ġel Ġt ama Ã±o Ġde Ġla Ġlista ) Ċ Ċ */ Ċ Ċ class ĠLib ros Adapter Ġ( private Ġval Ġlib ros : google Books ): RecyclerView . Adapter < Lib ros Holder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠLib ros Holder Ġ{ ĊĠĠĠĠĠĠ Ġreturn ĠLib ros Holder ( ĊĠĠĠĠĠĠĠĠĠĠ ĠItem Lib ros Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠLib ros Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . binding . apply Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġauto res Ġ= Ġlib ros . items [ position ]. volume Info . authors ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt vt itulo . text Ġ= Ġlib ros . items [ position ]. volume Info . title ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( iv lib ro . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( lib ros . items . get ( position ). volume Info . image Links . thumbnail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fit Center () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( iv lib ro ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt va utor . text Ġ= Ġauto res [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt vt itulo . text Ġ= Ġlib ros . items [ position ]. volume Info . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNullPointerException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv lib ro . setImage Resource ( R . mip map . no imag end isp on ible ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt va utor . text Ġ= Ġ" Sin Ġautor " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt vt itulo . text Ġ= Ġ" Sin Ġt ÃŃtulo " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlib ros . items . size ĊĠĠĠ Ġ} Ċ Ċ }