package Ġcom . zh xh . x button Ċ Ċ import Ġandroid . os . Handler Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ Ċ import Ġcom . zh xh . x button . dummy . Chart Data Ċ import Ġcom . zh xh . x button lib . X Button Ċ import Ġcom . zh xh . x chart lib . Line Chart Ċ Ċ class ĠItem RecyclerView Adapter ( private Ġval Ġm Values : ĠList < Chart Data >, Ġprivate Ġval Ġm Listener : ĠItem Fragment . On List Fragment Interaction Listener ?) Ġ: ĠRecyclerView . Adapter < Item RecyclerView Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġhandler Ġ= ĠHandler () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . fragment _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Data Ġ= Ġm Values [ position ] ĊĊĠĠĠĠĠĠĠ Ġholder . m Item Ġ= Ġm Values [ position ] ĊĠĠĠĠĠĠĠ Ġholder . content . text Ġ= Ġm Values [ position ]. name ĊĠĠĠĠĠĠĠ Ġholder . line Chart . bind Data ( m Values [ position ]. list ) ĊĠĠĠĠĠĠĠ Ġholder . line Chart . bind Anim Time ( 5 0 ) ĊĠĠĠĠĠĠĠ Ġholder . line Chart . show () ĊĊĠĠĠĠĠĠĠ Ġholder . m View . setOnClickListener Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Listener ?. on List Fragment Interaction ( holder . m Item !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . x gif Btn . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġholder . x gif Btn . setTextColor Anim End (- 0 xb 3 af ) ĊĠĠĠĠĠĠĠ Ġholder . x gif Btn . set Anim Drawable ( R . drawable . like _ bg _ start , ĠR . drawable . like _ bg _ end ) Ġ{ Ġholder . x gif Btn . text Ġ= ĠStringBuilder (). append ( holder . x gif Btn . text . toString ()). append (" åĲİ "). toString () Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( item Data . is Follow ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . x gif Btn . setIs Anim Complete ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . x gif Btn . text Ġ= Ġ" 1 2 åĲİ " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . x gif Btn . setIs Anim Complete ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . x gif Btn . text Ġ= Ġ" 1 2 " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . x gif Btn . setOnClickListener Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æĹł è®º æĺ¯åĲ¦ çĤ¹ èµ ŀ æĪĲåĬŁ éĥ½ åħĪ è¿Ĳè¡Į åĬ¨çĶ» ï¼Į çĦ¶åĲİ æł¹æį® æİ¥åı£ è¯·æ±Ĥ ç»ĵæŀľ å±ķ çİ° ï¼Į ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è¯·æ±Ĥ ç»ĵæŀľ åĩºæĿ¥ æĹ¶ ï¼Į åħĪ ä¸į æĽ´æĸ° æķ°æį® æĪĸ çĬ¶æĢģ ï¼Į çŃī åĬ¨çĶ» è¿Ĳè¡Į å®Į åĨį æĽ´æĸ° ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĬ¨çĶ» è¿Ĳè¡Į å®Į æĹ¶ ï¼Į æİ¥åı£ è¿ĺ æľª è¿ĶåĽŀ ï¼Į = è¿Ļ æĹ¶ å°± è¦ģ å±ķ çİ° ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! holder . x gif Btn . is Anim Complete ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . x gif Btn . start Anim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Values . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( val Ġm View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( m View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent : ĠTextView ĊĠĠĠĠĠĠĠ Ġval Ġline Chart : ĠLine Chart ĊĠĠĠĠĠĠĠ Ġval Ġx gif Btn : ĠX Button ĊĠĠĠĠĠĠĠ Ġvar Ġm Item : ĠChart Data ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġm View . findViewById < View >( R . id . content ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġline Chart Ġ= Ġm View . findViewById < View >( R . id . line Chart ) Ġas ĠLine Chart ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx gif Btn Ġ= Ġm View . findViewById < View >( R . id . x gif Btn ) Ġas ĠX Button ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsuper . toString () Ġ+ Ġ" Ġ'" Ġ+ Ġcontent . text Ġ+ Ġ"'" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ