package Ġme . he gj . w android . mvp . ui . adapter Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . text . Html Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . widget . TextView Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . ch ad . library . adapter . base . Base ViewHolder Ċ import Ġcom . ch ad . library . adapter . base . util . Multi Type Delegate Ċ import Ġcom . j ess . arms . http . image loader . glide . Image Config Impl Ċ import Ġcom . j ess . arms . utils . Ar ms Utils Ċ import Ġme . he gj . w android . R Ċ import Ġme . he gj . w android . app . weight . Collect View Ċ import Ġme . he gj . w android . mvp . model . entity . A rit icle Response Ċ import Ġme . he gj . w android . mvp . ui . activity . share . Share ById Activity ĊĊ Ċ class ĠA rit icle Adapter ( data : ĠMutable List < A rit icle Response > ?) Ġ: ĠBase Quick Adapter < A rit icle Response , ĠBase ViewHolder >( data ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm On Collect View ClickListener : ĠOn Collect View ClickListener ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval ĠA rit icle Ġ= Ġ 1 // æĸĩç«ł ç±»åŀĭ ĊĠĠĠ Ġprivate Ġval ĠProject Ġ= Ġ 2 // é¡¹çĽ® ç±»åŀĭ Ġæľ¬ æĿ¥ æīĵ ç®Ĺ ä¸į åĮº åĪĨ æĸĩç«ł åĴĮ é¡¹çĽ® å¸ĥå±Ģ çĶ¨ ç»Łä¸Ģ å¸ĥå±Ģ çļĦ ï¼Į ä½Ĩæĺ¯ å¸ĥå±Ģ å®Į ä»¥ åĲİ åıĳçİ° å·® å¼Ĥ åĮĸ èĽ ® å¤§çļĦ ï¼Į æīĢä»¥ è¿ĺæĺ¯ åĪĨ å¼Ģ åĲ§ ĊĠĠĠ Ġprivate Ġvar Ġshow Tag Ġ= Ġfalse // æĺ¯åĲ¦ å±ķç¤º æłĩçŃ¾ Ġtag Ġ ä¸ĢèĪ¬ ä¸» é¡µ æīį çĶ¨çļĦ åĪ° ĊĠĠĠ Ġprivate Ġvar Ġclick able Ġ= Ġtrue // çĤ¹åĩ» ä½ľèĢħ æĺ¯åĲ¦ èĥ½ è·³è½¬ æŁ¥çľĭ ä»ĸ çļĦä¿¡æģ¯ ĊĊĠĠĠ Ġconstructor ( data : ĠMutable List < A rit icle Response > ?, Ġshow Tag : ĠBoolean ) Ġ: Ġthis ( data ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . show Tag Ġ= Ġshow Tag ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( data : ĠMutable List < A rit icle Response > ?, Ġshow Tag : ĠBoolean , Ġclick able : ĠBoolean ) Ġ: Ġthis ( data ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . show Tag Ġ= Ġshow Tag ĊĠĠĠĠĠĠĠ Ġthis . click able Ġ= Ġclick able ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// åĪĿå§ĭåĮĸ ĊĠĠĠĠĠĠĠ Ġmulti Type Delegate Ġ= Ġobject Ġ: ĠMulti Type Delegate < A rit icle Response >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Type ( entity : ĠA rit icle Response ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// æł¹æį® æĺ¯åĲ¦ æľī åĽ¾çīĩ ĠåĪ¤æĸŃ ä¸º æĸĩç«ł è¿ĺæĺ¯ é¡¹çĽ® ï¼Į å¥½ åĥı æľī çĤ¹ low çļĦ æĦŁ è§ī ãĢĤãĢĤ ãĢĤ æĪĳ çľĭ å®ŀä½ĵ ç±» å¥½ åĥı æ²¡æľī çĽ¸åħ³ çļĦ åŃĹæ®µ ï¼Į å°± çĶ¨ äºĨ è¿Ļä¸ª ï¼Į ä¹Ł æľī åı¯èĥ½ æĺ¯ æĪĳ æ²¡ åıĳçİ° ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( TextUtils . isEmpty ( entity . envelope Pic )) ĠA rit icle Ġelse ĠProject ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// æ³¨åĨĮ å¤ļ å¸ĥå±Ģ ĊĠĠĠĠĠĠĠ Ġmulti Type Delegate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. register ItemType ( A rit icle , ĠR . layout . item _ ar it icle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. register ItemType ( Project , ĠR . layout . item _ project ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconvert ( helper : ĠBase ViewHolder , Ġitem : ĠA rit icle Response ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( helper . item ViewType ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA rit icle Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// æĸĩç«ł å¸ĥå±Ģ çļĦ èµĭåĢ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . item _ home _ author , Ġif Ġ( author . isNotEmpty ()) Ġauthor Ġelse Ġshare User ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . item _ home _ content , ĠHtml . from Html ( title )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . item _ home _ type 2 , ĠHtml . from Html ("$ super Chapter Name Â· $ chapter Name ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . item _ home _ date , Ġnice Date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < Collect View >( R . id . item _ home _ collect ). isChecked Ġ= Ġcollect ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show Tag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å±ķç¤º æłĩçŃ¾ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ home _ new , Ġfresh ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ home _ top , Ġtype Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tags . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ home _ type 1 , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . item _ home _ type 1 , Ġtags [ 0 ]. name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ home _ type 1 , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// éļĲèĹı æīĢæľī æłĩçŃ¾ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ home _ top , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ home _ type 1 , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ home _ new , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < Collect View >( R . id . item _ home _ collect ). setOn Collect View ClickListener ( object Ġ: ĠCollect View . On Collect View ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠCollect View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm On Collect View ClickListener ?. onClick ( helper , Ġv , Ġhelper . adapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . item _ home _ author ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( click able ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . startActivity ( Intent ( mContext , ĠShare ById Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra (" id ", Ġitem ?. userId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProject Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// é¡¹çĽ® å¸ĥå±Ģ çļĦ èµĭåĢ¼ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . item _ project _ author , Ġif Ġ( author . isNotEmpty ()) Ġauthor Ġelse Ġshare User ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . item _ project _ title , ĠHtml . from Html ( title )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . item _ project _ content , ĠHtml . from Html ( desc )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . item _ project _ type , ĠHtml . from Html ("$ super Chapter Name Â· $ chapter Name ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . item _ project _ date , Ġnice Date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show Tag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å±ķç¤º æłĩçŃ¾ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ project _ new , Ġfresh ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ project _ top , Ġtype Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tags . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ project _ type 1 , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . item _ project _ type 1 , Ġtags [ 0 ]. name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ project _ type 1 , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// éļĲèĹı æīĢæľī æłĩçŃ¾ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ project _ top , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ project _ type 1 , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . item _ project _ new , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < Collect View >( R . id . item _ project _ collect ). isChecked Ġ= Ġcollect ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAr ms Utils . obtain App Component From Context ( mContext ). image Loader (). load Image ( mContext . application Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠImage Config Impl ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ( envelope Pic ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. imageView ( helper . getView ( R . id . item _ project _ image view )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error Pic ( R . drawable . default _ project _ img ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fallback ( R . drawable . default _ project _ img ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Cross Fade ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < Collect View >( R . id . item _ project _ collect ). setOn Collect View ClickListener ( object Ġ: ĠCollect View . On Collect View ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠCollect View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm On Collect View ClickListener ?. onClick ( helper , Ġv , Ġhelper . adapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . item _ project _ author ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( click able ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . startActivity ( Intent ( mContext , ĠShare ById Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra (" id ", Ġitem ?. userId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On Collect View ClickListener ( on Collect View ClickListener : ĠOn Collect View ClickListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm On Collect View ClickListener Ġ= Ġon Collect View ClickListener ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinterface ĠOn Collect View ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick ( helper : ĠBase ViewHolder , Ġv : ĠCollect View , Ġposition : ĠInt ) ĊĠĠĠ Ġ} Ċ } ĊĊĊ