package Ġcn . edu . s du . online . is du . ui . adapter Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . support . v 7 . widget . Card View Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġcn . edu . s du . online . is du . R Ċ import Ġcn . edu . s du . online . is du . app . My Application Ċ import Ġcn . edu . s du . online . is du . bean . Conf ession Ċ import Ġcn . edu . s du . online . is du . net . pack . Server Info Ċ import Ġcn . edu . s du . online . is du . net . Network Access Ċ import Ġcn . edu . s du . online . is du . ui . activity . Conf ession Detail Activity Ċ import Ġcn . edu . s du . online . is du . ui . activity . My HomePage Activity Ċ import Ġcn . edu . s du . online . is du . util . Date Calculate Ċ import Ġcn . edu . s du . online . is du . util . File Util Ċ import Ġcn . edu . s du . online . is du . util . Pixel Util Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . qm uite am . qm ui . layout . QM UI Frame Layout Ċ import Ġde . hd od enh of . circle image view . Circle ImageView Ċ import Ġorg . json . JSONObject Ċ Ċ / ******************************************************** *** Ċ Ġ* Ġ@ author ĠG rap es Ċ Ġ* Ġ@ date Ġ 2 0 1 8 - 1 2 - 1 3 Ċ Ġ* Ġ@ Description Ġ è¡¨ çĻ½ ä¿¡æģ¯ éĢĤ éħį åĻ¨ Ċ Ġ********************************************************* **/ Ċ class ĠConf ession Item Adapter Ġ( private Ġval Ġactivity : ĠActivity , Ġprivate Ġval Ġdata List : ĠList < Conf ession >) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . Adapter < Conf ession Item Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠEX TRA _ DATA Ġ= Ġ" conf ession " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġbind Ġview Ġholder ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġdata List [ position ] ĊĊĠĠĠĠĠĠĠ Ġ// Ġ è®¾è®¡ ï¼ļ ä½¿çĶ¨ å¸ ĸ åŃĲ æłĩé¢ĺ è¢« è¡¨ çĻ½ äºº å§ĵ åĲį ï¼Ł æļĤ æĹ¶ ĊĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠ Ġif Ġ( target Name Map . containsKey ( item . uid )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . target Name . text Ġ= Ġtarget Name Map [ item . uid ] ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġget Ġuser Ġwho Ġpost Ġthe Ġconf ession Ġinfo ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNetwork Access . cache ( Server Info . getUser Info ( item . uid , Ġ" nickname ")) Ġ{ Ġsuccess , Ġcache Path Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠJSONObject ( File Util . getString FromFile ( cache Path )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Name Map [ item . uid ] Ġ= Ġobj . getString (" nickname ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . target Name . text Ġ= Ġtarget Name Map [ item . uid ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}*/ ĊĊĠĠĠĠĠĠĠ Ġholder . card View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . startActivity ( Intent ( activity , ĠConf ession Detail Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( EXTRA _ DATA , Ġitem )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . target Name . text Ġ= Ġitem . title ĊĠĠĠĠĠĠĠ Ġholder . comment Count . text Ġ= Ġitem . comment Count . toString () ĊĠĠĠĠĠĠĠ Ġholder . content . text Ġ= Ġitem . post Content ĊĠĠĠĠĠĠĠ Ġholder . like Count . text Ġ= Ġitem . like Count . toString () ĊĠĠĠĠĠĠĠ Ġholder . release Time . text Ġ= ĠDate Calculate . get Expression Date ( item . time ) ĊĠĠĠĠĠĠĠ Ġholder . like Icon . setImage Resource ( R . drawable . ic _ like _ normal ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġcreate Ġview ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . conf ession _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġview . findViewById < QM UI Frame Layout >( R . id . card _ view ). set Radius And Shadow ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPixel Util . dp 2 px ( My Application . getContext (), Ġ 8 ), Ġ 0 . 2 f ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( v Ġ= Ġview ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġdata List . size ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ= Ġposition . to Long () ĊĊĠĠĠ Ġ// Ġview Ġholder ĊĠĠĠ Ġinner Ġclass ĠViewHolder ( v : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( v ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġtag Ġhere ĊĠĠĠĠĠĠĠ Ġval Ġcard View : ĠFrame Layout Ġ= Ġv . findViewById ( R . id . card _ view ) ĊĠĠĠĠĠĠĠ Ġval Ġtarget Name : ĠTextView Ġ= Ġv . findViewById ( R . id . conf ession _ name ) ĊĠĠĠĠĠĠĠ Ġval Ġrelease Time : ĠTextView Ġ= Ġv . findViewById ( R . id . release _ time ) ĊĠĠĠĠĠĠĠ Ġval Ġcontent : TextView Ġ= Ġv . findViewById ( R . id . content ) ĊĠĠĠĠĠĠĠ Ġval Ġlike Icon : ImageView Ġ= Ġv . findViewById ( R . id . like _ icon ) ĊĠĠĠĠĠĠĠ Ġval Ġlike Count : TextView Ġ= Ġv . findViewById ( R . id . like _ count ) ĊĠĠĠĠĠĠĠ Ġval Ġcomment Count : TextView Ġ= Ġv . findViewById ( R . id . comment _ count ) ĊĠĠĠ Ġ} Ċ } Ċ