package Ġcom . f ash are . mv vm _ juejin . view model Ċ Ċ import Ġandroid . support . annotation . Layout Res Ċ import Ġcom . f ash are . databinding . List VM Ċ import Ġcom . f ash are . databinding . Two Way List VM Ċ import Ġcom . f ash are . databinding . adapters . annotation . Header Res Holder Ċ import Ġcom . f ash are . databinding . adapters . annotation . Res Holder Ċ import Ġcom . f ash are . mv vm _ juejin . R Ċ import Ġcom . f ash are . mv vm _ juejin . model . Banner List Bean Ċ import Ġcom . f ash are . mv vm _ juejin . model . article . Article Bean Ċ import Ġcom . f ash are . mv vm _ juejin . repo . Comp os ers Ċ import Ġcom . f ash are . mv vm _ juejin . repo . J ue J in Apis Ċ import Ġcom . f ash are . mv vm _ juejin . view . detail . Article Activity Ċ import Ġcom . f ash are . net . Api Factory Ċ Ċ /** Ċ Ġ* Ġ< pre > Ċ Ġ* Ġauthor Ġ: Ġj in li ang sh an Ċ Ġ* Ġe - mail Ġ: Ġ 1 5 3 6 1 4 1 3 1 @ qq . com Ċ Ġ* Ġdesc ĠĠ Ġ: Ċ </ pre > Ġ* Ċ Ġ*/ Ċ Ċ @ Res Holder ( R . layout . item _ explore _ list ) Ċ @ Header Res Holder ( R . layout . header _ explore ) Ċ class ĠExplo re List VM Ġ: ĠTwo Way List VM < Article Bean >() Ġ{ ĊĠĠĠ Ġoverride Ġval Ġload Task Ġ= Ġ{ Ġlast Item : ĠArticle Bean ? Ġ-> ĊĠĠĠĠĠĠĠ ĠApi Factory . get Api ( J ue J in Apis :: Ġclass . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getEntry By Rank ( before Ġ= Ġlast Item ?. rank Index ?. toString () ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( Comp os ers . handleError ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . entry list ?: Ġempty List () Ġ} Ġ// ĠéľĢè¦ģ åİ» éĩį ï¼Ł ï¼Ł ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġon Item Click Ġ= ĠArticle Activity . START ĊĊĠĠĠ Ġoverride Ġval Ġheader Data Ġ= ĠHeader VM () ĊĊĠĠĠ Ġclass ĠHeader VM Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbanner Ġ= ĠBanner () ĊĠĠĠĠĠĠĠ Ġval Ġentry s Ġ= ĠEn tr ys (). apply { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . data . addAll ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEn tr ys . Item ( R . drawable . explore _ hot , Ġ" æľ¬ åĳ¨ çĥŃ éĹ¨ "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEn tr ys . Item ( R . drawable . explore _ collection _ set , Ġ" æĶ¶ èĹı éĽĨ "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEn tr ys . Item ( R . drawable . explore _ offline , Ġ" çº¿ ä¸ĭ æ´»åĬ¨ "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEn tr ys . Item ( R . drawable . explore _ post , Ġ" ä¸ĵ æłı ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtopics Ġ= ĠTop ics () ĊĊĠĠĠĠĠĠĠ Ġ// Ġbanner ĊĠĠĠĠĠĠĠ Ġ@ Res Holder ( R . layout . header _ item _ explore _ banner ) ĊĠĠĠĠĠĠĠ Ġclass ĠBanner Ġ: ĠTwo Way List VM < Banner List Bean . Item > (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġload Task Ġ= Ġ{ Ġlast Item : ĠBanner List Bean . Item ? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApi Factory . get Api ( J ue J in Apis . Banner Storage :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Banner ( position Ġ= Ġ" explore ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( Comp os ers . handleError ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map { Ġit . banner ?: Ġempty List () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġon Item Click Ġ= ĠArticle Activity . START _ FROM _ BAN NER ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 4 Ġä¸ª åħ¥ åı£ ĊĠĠĠĠĠĠĠ Ġ@ Res Holder ( R . layout . header _ item _ explore _ entry ) ĊĠĠĠĠĠĠĠ Ġclass ĠEn tr ys Ġ: ĠList VM < Entr ys . Item > (){ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠItem (@ Layout Res Ġval Ġicon : ĠInt , Ġval Ġtitle : ĠString ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġæ ² ¸ çĤ¹ ĊĠĠĠĠĠĠĠ Ġ@ Res Holder ( R . layout . header _ item _ explore _ topic ) ĊĠĠĠĠĠĠĠ Ġclass ĠTop ics Ġ: ĠTwo Way List VM < Article Bean > (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġload Task Ġ= Ġ{ Ġlast Item : ĠArticle Bean ? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApi Factory . get Api ( J ue J in Apis :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getEntry By Time Line ( categoryId Ġ= Ġ" all ", Ġtype Ġ= Ġ" vote ", Ġlimit Ġ= Ġ" 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( Comp os ers . handleError ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . entry list ?: Ġempty List () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġon Item Click Ġ= ĠArticle Activity . START ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ