package Ġv ip . fre nd y . news _ m . fragment ĊĊ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . app . FragmentManager Ċ import Ġandroid . support . v 4 . app . Fragment Pager Adapter Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġkotlinx . android . synt hetic . main . fragment _ news _ content .* Ċ import Ġorg . jetbrains . ank o . do Async Ċ import Ġorg . jetbrains . ank o . ui Thread Ċ import Ġv ip . fre nd y . model . net . Request Ċ import Ġv ip . fre nd y . news _ m . R ĊĊ Ċ /** Ċ Ġ* Ġ æĸ° éĹ» åĨħå®¹ é¡µ Ċ Ġ*/ Ċ class ĠFragment News Content Ġ: ĠFragment (), ĠView . OnClickListener Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġroot View : ĠView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġuid : ĠString Ġ= Ġ" 0 " ĊĠĠĠ Ġprivate Ġval Ġm Fragments : ĠArrayList < Fragment News List > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġval Ġm Titles : ĠArrayList < String > Ġ= ĠArrayList () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( bundle : ĠBundle ): ĠFragment News Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠFragment News Content () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġbundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater ?, Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( root View Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View Ġ= Ġinflater ?. inflate ( R . layout . fragment _ news _ content , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Data ( arguments ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġ ç¼ĵåŃĺ çļĦ root View éľĢè¦ģ åĪ¤æĸŃ æĺ¯åĲ¦ å·²ç»ı è¢« åĬł è¿ĩ parent ï¼Į Ġå¦Ĥæŀľ æľī parent éľĢè¦ģ ä»İ parent åĪłéĻ¤ ï¼Į è¦ģ ä¸į çĦ¶ ä¼ļ åıĳçĶŁ è¿Ļä¸ª root view å·²ç»ı æľī parent çļĦ éĶĻè¯¯ ĊĠĠĠĠĠĠĠ Ġ( root View ?. parent Ġas ? ĠViewGroup )?. remove View ( root View ) ĊĠĠĠĠĠĠĠ Ġreturn Ġroot View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Data ( args : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġuid Ġ= Ġargs . getString (" uid ") ĊĠĠĠĠĠĠĠ Ġget Channel ( uid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetUser Visible Hint ( isVisible To User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setUser Visible Hint ( isVisible To User ) ĊĠĠĠĠĠĠĠ Ġif Ġ( isVisible To User ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( view : ĠView ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Channel ( uid : ĠString ) Ġ= Ġdo Async Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchannel List Ġ= ĠRequest ( context ). getChannel List ( uid ) ĊĠĠĠĠĠĠĠ Ġui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( channel Ġin Ġchannel List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs : ĠBundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargs . putString (" uid ", Ġuid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargs . putString (" cid ", Ġchannel . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Fragments . add ( Fragment News List . getInstance ( args )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Titles . add ( channel . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent . adapter Ġ= ĠNews Pager Adapter ( child FragmentManager ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtabs . set ViewPager ( content ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠNews Pager Adapter ( fm : ĠFragment Manager ?) Ġ: ĠFragment Pager Adapter ( fm ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ= Ġm Fragments . size ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( index : ĠInt ): ĠFragment Ġ= Ġm Fragments [ index ] ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Page Title ( index : ĠInt ): ĠCharSequence Ġ= Ġm Titles [ index ] ĊĠĠĠ Ġ} Ċ } Ċ